Material Design:
Google 推出的一個(gè)Design Support庫(kù)埋酬,包含了很多具有代表性的控件及效果
以下內(nèi)容為邊學(xué)邊學(xué)系列
1.Toolbar
(1)在xml文件中:
<android.support.v7.widget.Toolbar
android:id="@+id/toolBar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
app:popupTheme為了兼容5.0以下,使用淺色部分文字
android:theme為了讓菜單變成深色
(2)在activity文件中(必寫):
setSupportActionBar(toolBar);
這樣慰丛,一個(gè)普普通通的ToolBar就寫成了
(3)在toolbar上加上按鈕:
在res-menu中建立一個(gè)名字為toolbar.xml的文件
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/backUp"
android:icon="@drawable/ic_back"
android:showAsAction="always"
android:title="Back" />
<item
android:id="@+id/rain"
android:icon="@drawable/ic_big_rain"
android:showAsAction="ifRoom"
android:title="Rain" />
<item
android:id="@+id/sun"
android:icon="@drawable/ic_fan"
android:showAsAction="never"
android:title="sun" />
</menu>
(4)在activity中分別重寫onCreateOptionsMenu()方法和onOptionsItemSelected方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.backUp:
make("后退");
break;
case R.id.rain:
make("下雨");
break;
case R.id.sun:
make("晴天");
break;
}
return true;
}
這樣就好了朽们。
重點(diǎn)部分說明帘饶,看郭霖大神的書,覺得總結(jié)的最好,各位吃瓜群眾拿小本本記好:
android:showAsAction有如下幾種值可選:always表示永遠(yuǎn)顯示在Toolbar中,如果屏幕空間不夠則不顯示蕊蝗;ifRoom表示屏幕空間足夠的情況下顯示在Toolbar中,否則不顯示赖舟;never則表示永遠(yuǎn)顯示在菜單欄中蓬戚。注意,Toolbar中的action按鈕只會(huì)顯示圖標(biāo)宾抓,菜單欄中的action按鈕只會(huì)顯示文字W愉觥!石洗!
2.FloatingActionBar
雖然只是一個(gè)懸浮的按鈕幢泼,我們平時(shí)也許會(huì)拿button直接用,但這個(gè)有陰影讲衫,效果我覺得還不錯(cuò)缕棵。
(1)在build.gradle中引用design(這里我用的是 compile 'com.android.support:design:25.2.0')
(2)在xml文件中寫布局
<android.support.design.widget.FloatingActionButton
android:id="@+id/btFloatingAction"
android:src="@drawable/ic_fan"
android:elevation="10dp"
android:background="#FFFFFF"
android:layout_width="wrap_content"
android:layout_margin="20dp"
android:layout_gravity="bottom|end"
android:layout_height="wrap_content" />
就這樣,毫無難度涉兽,對(duì)吧挥吵?
有一個(gè)知識(shí)點(diǎn) android:elevation=“10dp”用來設(shè)置陰影高度,數(shù)值從小到大花椭,陰影也是從小到大