真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

Android5.0新特性-創(chuàng)新互聯(lián)

1.   Android5.0新特性

 系統(tǒng)主題,如何自定義主題 高度與陰影 陰影與輪廓 輪廓與裁剪 矢量圖 drawable染色 取色器 漣漪動畫 xml漣漪動畫 代碼漣漪動畫 狀態(tài)動畫 矢量圖動畫 路徑動畫 揭示動畫 Activity轉場動畫 共享元素轉場動畫 xml配置轉場動畫 CardView 如何兼容低版本

在麻陽等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網站設計、網站建設 網站設計制作按需定制,公司網站建設,企業(yè)網站建設,品牌網站建設,網絡營銷推廣,外貿營銷網站建設,麻陽網站建設費用合理。

1.1.Material Design(MD)簡介

Material Design材料設計,是的一種新的設計風格,谷歌希望寄由此來統(tǒng)一各種平臺上的應用外觀和用戶體驗。

官網介紹:

http://www.google.com/design/spec/material-design/introduction.html

1.2.主題樣式

l 系統(tǒng)自帶的三個材料風格主題:

@android:style/Theme.Material (深色)

@android:style/Theme.Material.Light (亮色)

@android:style/Theme.Material.Light.DarkActionBar(亮色,actionbar為深色)

l 如何使用材料風格主題?

官方資料:http://developer.android.com/training/material/theme.html或

          file:///D:/Android/android-sdk-windows/docs/training/material/theme.html

顏色取色器:

          http://www.materialpalette.com/

(1)定義主題:

<style name="RedTheme"  parent="android:Theme.Material">
    
    <item name="android:colorPrimaryDark">@color/status_reditem>
    
    <item name="android:statusBarColor">@color/status_reditem>
    
    <item name="android:colorPrimary">@color/action_reditem>
    
    <item name="android:windowBackground">@color/window_bg_reditem>
    
    <item name="android:navigationBarColor">@color/navigation_reditem>

    
    <item name="android:colorForeground">@color/fg_reditem>
    
    <item name="android:colorBackground">@color/bg_reditem>

    
    <item name="android:colorAccent">@color/control_activated_reditem>
    
    <item name="android:colorControlNormal">@color/control_normal_reditem>
    
    <item name="android:colorControlHighlight">@color/control_highlight_reditem>
    
    <item name="android:colorControlActivated">@color/control_activated_reditem>

    
    <item name="android:colorButtonNormal">@color/button_normal_reditem>
    
    <item name="android:textColor">@color/white_textitem>
    
    <item name="android:textColorPrimaryDisableOnly">@color/white_textitem>
    
    <item name="android:textColorPrimary">@color/white_textitem>
 style>

(2)使用主題:(有兩種方式)

    a) 配置文件中配置

    android:theme="@style/RedTheme">

    b) 代碼方式:

protected voidonCreate(Bundle  savedInstanceState) {
    setTheme(R.style.RedTheme);  // 設置主題
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 }

l 通過V7(部分)包兼容低版本

(1)添加support v7包

    在build.gradle的dependencies節(jié)點下添加:

compile 'com.android.support:appcompat-v7:23.0.3'

(2)使用Theme.AppCompat主題

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

(3)繼承AppCompatActivity

 界面不再繼承 Activity, FragmentActivity 或ActionBarActivity, 而是繼承AppCompatActivity, 目的是為了將MD的風格,

 及Toolbar等新的特效兼容到低版本。

注意:V7包只是兼容了材料主題的部分功能,一些主題樣式目前在低版本還無法使用

     如:導航欄樣式修改;

1.3.高度與陰影

n 陰影大小Z = elevation + translationZ (elevation是相對于父控件的高度)

n 比父控件的高寬小,才能顯示陰影

n 高度(陰影大?。Q定了View的遮蓋關系

陰影效果設置:

android:elevation="4dp"

android:translationZ="4dp"

1.4.輪廓(outlineProvider屬性)

n 指定控件的輪廓

// 默認為background

android:outlineProvider="none|background|bounds|paddedBounds"

若控件背景為半透明的shape或圖片,則不會產生陰影。需要在代碼中設置。

// 代碼設置輪廓
 circle1.setOutlineProvider(newViewOutlineProvider()  {
    public voidgetOutline(View view, Outline outline)  {
        // 可以指定圓形,矩形,圓角矩形,path
        outline.setOval(0, 0,  view.getWidth(), view.getHeight());
    }
 });

 // 代碼設置輪廓:減少輪廓
 circle2.setOutlineProvider(newViewOutlineProvider()  {
    public voidgetOutline(View view, Outline outline)  {
        intpadding = dp2px(5);
        outline.setOval(padding,  padding,
                view.getWidth() -  padding,
                view.getHeight() -  padding);
    }
 });

1.5.裁剪

n 裁剪視圖可以輕松改變視圖形狀;

n 裁剪方法:

通過mView.clipToOutline(true)或android:clipToOutline="true"

將視圖裁剪成輪廓指定形狀

n 不是所有輪廓都可裁剪:

僅有矩形、圓形和圓角矩形輪廓支持裁剪,Path、橢圓無法進行裁剪;

可通過Outline.canClip()判斷指定的輪廓是否可裁剪:

mTextView.setOutlineProvider(newViewOutlineProvider()  {
    public voidgetOutline(View view, Outline outline)  {

// 指定輪廓:圓形
outline.setOval(0, 0,  view.getWidth(), view.getHeight());

       // 指定輪廓:圓角矩形
        // outline.setRoundRect(0, 0,  view.getWidth(), view.getHeight(), dp2px(10));

        cut2.setText("判斷是否可裁剪: "  + outline.canClip());
    }
});
 mTextView
.setClipToOutline(true); // 裁剪

1.6.染色(Tint)

n 十六種PorterDuffXfermode(參考ApiDemo:graphics / xfermodes)

 從上面我們可以看到PorterDuff.Mode為枚舉類,一共有16個枚舉值:

1.PorterDuff.Mode.CLEAR

 所繪制不會提交到畫布上。
2.PorterDuff.Mode.SRC

  顯示上層繪制圖片
3.PorterDuff.Mode.DST

  顯示下層繪制圖片
4.PorterDuff.Mode.SRC_OVER

  正常繪制顯示,上下層繪制疊蓋。
5.PorterDuff.Mode.DST_OVER

  上下層都顯示。下層居上顯示。
6.PorterDuff.Mode.SRC_IN

  取兩層繪制交集。顯示上層。
7.PorterDuff.Mode.DST_IN

  取兩層繪制交集。顯示下層。
8.PorterDuff.Mode.SRC_OUT

 取上層繪制非交集部分。
9.PorterDuff.Mode.DST_OUT

 取下層繪制非交集部分。
10.PorterDuff.Mode.SRC_ATOP

 取下層非交集部分與上層交集部分
11.PorterDuff.Mode.DST_ATOP

 取上層非交集部分與下層交集部分
12.PorterDuff.Mode.XOR

 異或:去除兩圖層交集部分
13.PorterDuff.Mode.DARKEN

 取兩圖層全部區(qū)域,交集部分顏色加深
14.PorterDuff.Mode.LIGHTEN

  取兩圖層全部,點亮交集部分顏色
15.PorterDuff.Mode.MULTIPLY

 取兩圖層交集部分疊加后顏色
16.PorterDuff.Mode.SCREEN

 取兩圖層全部區(qū)域,交集部分變?yōu)橥该魃?/p>

n tint模式

android:background="@drawable/ring"
android:backgroundTint="@color/color_tint"     //tint顏色

android:backgroundTintMode="add"              // 染色模式

n 一張圖片實現(xiàn)選擇器:

按下的樣式:drawable/ring_tint.xml

xml  version="1.0"  encoding="utf-8"?>
 
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/ring"

    android:tint="#5677fc"
    android:tintMode="multiply"
/>

選擇器的定義:

xml  version="1.0"  encoding="utf-8"?>
 
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ring_tint" android:state_pressed="true"/>
    <item android:drawable="@drawable/ring"/>
selector>

1.7.調色板(Palette)

Palette:調色板,取色板,它是v7包中的類: android.support.v7.graphics.Palette

可以用來獲取一張圖片中的顏色值。

Vibrant        鮮艷的

Vibrant dark   鮮艷的暗色

Vibrant light   鮮艷的亮色

Muted         柔和的

Muted dark    柔和的暗色

Muted light    柔和的亮色

Bitmap bitmap  = BitmapFactory.decodeResource(getResources(),  R.drawable.palette);

// 對圖片取色是一個比較消耗性能的操作,其內部會在子線程中運行。
 Palette.from(bitmap).generate(newPalette.PaletteAsyncListener()  {
   public voidonGenerated(Palette palette) {
      v.setBackgroundColor(palette.getVibrantColor(Color.BLACK));
      vd.setBackgroundColor(palette.getDarkVibrantColor(Color.BLACK));
      vl.setBackgroundColor(palette.getLightVibrantColor(Color.BLACK));
      m.setBackgroundColor(palette.getMutedColor(Color.BLACK));
      md.setBackgroundColor(palette.getDarkMutedColor(Color.BLACK));
      ml.setBackgroundColor(palette.getLightMutedColor(Color.BLACK));
   }
 });

1.8.矢量圖

l SVG: 矢量圖可以用一個根節(jié)點為svg的xml文件表示;

l w3矢量圖文檔: https://www.w3.org/TR/SVG11/paths.html

l 繪制矢量圖:  http://editor.method.ac/

l Svg --> vector:http://inloop.github.io/svg2android/

要在android中顯示矢量圖,需要把svg文件轉換為vector文件

Android 5.0新特性

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal"
>
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:background="@drawable/heart"
/>
    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:background="@drawable/heart"
/>
 LinearLayout>

//drawable/heart.xml

xml version="1.0" encoding="utf-8"?>
 
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="100dp"
    android:height="100dp"
    android:viewportHeight="40"
    android:viewportWidth="40"
>
    <path
        android:fillColor="#ff00ff"
        android:pathData="M20.5,9.5
                         c-1.955,0,-3.83,1.268,-4.5,3
                         c-0.67,-1.732,-2.547,-3,-4.5,-3
                         C8.957,9.5,7,11.432,7,14
                        c0,3.53,3.793,6.257,9,11.5
                         c5.207,-5.242,9,-7.97,9,-11.5
                         C25,11.432,23.043,9.5,20.5,9.5z"
/>
 vector>

1.9.全新動畫

在MaterialDesign設計中,為用戶與app交互反饋他們的動作行為和提供了視覺上的連貫性。Material主題為控件和Activity的過渡提供了一些默認的動畫,在android L上,允許自定義這些動畫:

Touch feedback 觸摸反饋動畫 (水波紋動畫,漣漪動畫)

Circular Revealanimation  圓形揭示動畫

Path-based animations 基于路徑的動畫(Curvedmotion曲線運動)

View state changes 視圖狀態(tài)動畫

Vector Drawables 矢量圖動畫

Activity transitionsActivity轉場動畫

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前標題:Android5.0新特性-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/jojjd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部