Android5.0中Material Design的新特性

最近項目中須要用到Material Design,整理了下面幾個經常使用的控件,以便記憶。android

1、Snackbarapp

1.做用:與Toast相似,可是能夠點擊監聽;佈局

2.使用:spa

(1)Snackbar調用靜態類make(),傳入三個參數:View父組件,文本,顯示時間;code

       (2)Snackbar調用setAction(),傳入兩個參數:文本,點擊監聽事件實現OnClickListener接口;對象

       (3)顯示show()與隱藏dismiss();blog

2、TextInputLayout索引

1.做用:包裹在EditText外邊,能夠將文本在EditText上方提示,同時能夠設置錯誤提示;接口

2.使用:事件

(1)TextInputLayout對象調用setErrorEnable(),傳入boolean類型參數表示是否顯示錯誤信息;

(2)TextInputLayout對象調用SetError(),設置錯誤信息;

 

3、FloationgActionButton

1.做用:懸浮在頁面上方的按鈕;

2.特有屬性:

app:elevation="5dp"  //陰影效果
app:pressedTranslationZ="10dp"  //按壓時顯示效果
app:rippleColor="@color"  //顏色

 

4、DrawerLayout

1.做用:做爲佈局的子佈局,實現左右兩側的側滑效果,用於添加菜單;

2.使用:(1)以DraweLayout做爲根佈局,內部能夠包含三個及三個如下佈局;

       (2)爲做爲菜單的佈局設置android:layout_gravity屬性,在左側顯示值爲」left」,在右側顯示值爲」right」;

       (3)動態打開或關閉DrawerLayout中的佈局:

      DraweLayout對象調用openDrawer(),傳入Gravity.Left或者Gravity.Right兩種參數值打開關閉佈局;

      DrawerLayout對象調用closeDrawer(),傳入兩種參數值關閉佈局;

5、NavigationView

1.做用 :做爲導航欄或者菜單欄的Menu視圖添加;

2.使用:(1)靜態屬性:app:headerLayout添加頭佈局文件;

         (2)靜態屬性:app:menu添加菜單文件;

        (3)設置頭視圖監聽:

                (3-1)獲得頭視圖:NavigationView對象調用getHeaderView(),傳入索引號0;

                  注意:若是沒有getHeaderView(),可使用findViewById()獲得頭視圖;

                (3-2)找控件:頭視圖調用findViewById()獲得頭視圖中的控件;

                (3-3)設置監聽事件:獲得的控件調用setOnClickListener();

         (4)設置menu按鈕監聽:

      NavigationView對象調用setNavigationItemSelectedListener(),

      傳入NavigationView. OnNavigationViewIntemSelectedListener接口,

      重寫onNavigationItemSelected()接口;

6、TabLayout

1.做用:與ViewPager結合,達到聯動導航效果;

2. 靜態屬性:

1 app:tabIndicatorColor="@color/colorAccent"
2 app:tabIndicatorHeight="5dp"
3 app:tabSelectedTextColor="@color/colorAccent"
4 app:tabTextColor="#ffffff"

3.動態使用:

       (1)聲明並實例化TabLayout,ViewPager;

       (2)爲ViewPager控件設置適配器;

       (3)設置Tablayout與ViewPager的聯動:

    (3-1)TabLayout對象調用setupWithViewPager()傳入要聯動的ViewPager對象;

    (3-2)在自定義ViewPager的適配器中,重寫getPageTitle(),返回當前標題;

    (3-3)TabLayout對象調用setTabMode(),傳入TabLayout.MODE_SCROLLABLE常量,設置TabLayout的滾動;

7、NestedScrollView

1.做用:替代ScrollView;

2.使用:與ScrollView相同,內部只能有一個子控件;

8、Toolbar

1.做用:

  注意:使用Toolbar時必須將該Activity的主題設置爲NoActionBar屬性值;

2.使用:Toolbar控件必須放在AppBarLayout控件中,而AppBarLayout最好放在CoordinatorLayout控件(協同佈局)中;

3.靜態屬性:

1 app:layout_scrollFlags=」scroll|enterAlways」  //Toolbar控件中,設置滑動響應事件;
2 app:title=」」  //爲Toolbar設置標題名;
3 app:layout_behavior="@string/appbar_scrolling_view_behavior"  //NestedScrollView控件中,設置控件行爲

4.動態方法:

       (4-1)聲明並實例化Toolbar控件實例;

       (4-2)將ActionBar設置爲Toolbar:在當前Activity中調用setSupportActionBar(),傳入新建立的Toolbar對象;

       (4-3)當前Activity主題修改成NoActionBar模式:在清單文件中設置當前Activity標籤下的屬性android:theme="@style/Theme.AppCompat.NoActionBar";

       注意:只有當前Activity主題爲NoActionBar時,纔會顯示Toolbar;

9、CollapsingToolbar

1.做用:實現Toolbar的摺疊效果;

2.使用:

  CollapsingToolbar必須放在AppBarLayout中,

  而AppBarLayout最好放在協同佈局CoordinatorLayout控件中;

  而Toolbar做爲CollapsingToolbar的不折疊控件使用;

       注意:CollapsingToolbar控件之下必須有且只有兩個控件;

3.靜態屬性:

       

1 app:title=」標題」  //設置標題內容
2 app:layout_scrollFlags="scroll|exitUntilCollapsed"  //設置滾動標記
3 app:expandedTitleGravity="right|bottom"  //設置標題位置
4 app:expandedTitleMarginBottom="@dimen/activity_vertical_margin"  //設置標題到底部的距離
5 app:expandedTitleMarginEnd="@dimen/activity_horizontal_margin"  //設置標題距底部的距離
6 app:contentScrim="#00ff00"  //設置摺疊時上方控件的顏色
7 //注意:下邊兩條屬性必須設置;
8 app:layout_collapseMode="parallax"  //在其須要被摺疊的子控件中;
9 app:layout_collapseMode="pin":  //在須要留下來的子控件中;

 

4.動態設置:

//(1)設置展開狀態下標題顏色
collapsingToolbarLayout.setExpandedTitleColor(Color.WHITE);
//(2)設置摺疊後標題顏色
collapsingToolbarLayout.setCollapsedTitleTextColor(Color.BLUE);
相關文章
相關標籤/搜索