參考資料:Android Design Support Library 兼容庫使用詳解
1. 添加 Design Support Library 依賴
在 Android Studio 中,通過在build.gradle(Module: app)
中的dependencies
中添加:
compile 'com.android.support:design:23.1.0'
(其中23.1.0為當前庫版本號)
2. 常規控件
2.1 FloatingActionButton - 浮動的圓形按鈕
布局文件:
<android.support.design.widget.FloatingActionButton/>
常用屬性:
注意:使用以下屬性時,需要在Layout中添加命名空間:xmlns:app="http://schemas.android.com/apk/res-auto"
屬性名 | 作用 |
---|---|
app:backgroundTint="" | 背景色 |
app:fabSize="" | 包裹圖片類型 |
app:elevation="" | Z軸,用來控制控件陰影效果 |
app:rippleColor="" | 按鈕點擊時顏色效果 |
2.2 TextInputLayout - 讓 EditText 提示更加人性化
布局文件:
<android.support.design.widget.TextInputLayout>
<EditText/>
</android.support.design.widget.TextInputLayout>
2.3 Snackbar - 可交互的提示框
使用代碼:
Snackbar snackbar = Snackbar.make(view, "提示文本", Snackbar.LENGTH_LONG | Snackbar.LENGTH_SHORT);
snackbar.show();
snackbar.setAction("按鈕title", new View.OnClickListener(){
@Override
public void onClick(View v) {
// do something
}
});
3. 菜單控件
3.1 TabLayout - 便捷實現標簽
布局文件:
<android.support.design.widget.TabLayout/>
常用屬性:
屬性名 | 作用 |
---|---|
app:tabTextColor="" | 標簽顏色 |
app:tabSelectedTextColor="" | 標簽選中時顏色 |
app:tabIndicatorColor="" | 標簽下標指示器顏色 |
app:tabIndicatorHeight="" | 標簽下標指示器高度 |
app:tabMode="" | 標簽能否進行橫向滑動 |
使用代碼:
TabLayout tabs = (TabLayout) findViewById(R.id.tab_layout);
tabs.addTab(tabs.newTab().setText("Tab1"));
tabs.addTab(tabs.newTab().setText("Tab2"));
tabs.addTab(tabs.newTab().setText("Tab3"));
tabs.addTab(tabs.newTab().setText("Tab4"));
3.2 Navigation View - 美觀的側滑視圖
布局文件:
<android.support.v4.widget.DrawerLayout
xmlns:app="http://schemas.android.com/apk/res-auto">
<include layout="@layout/activity_main"/>
<android.support.design.widget.NavigationView>
...
</android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
常用屬性:
屬性名 | 作用 |
---|---|
app:headerLayout="" | 頭布局 |
app:menu="" | 菜單布局 |
android:layout_gravity="left" | 在父視圖中的布局 |
android:fitSystemWindows="true" | 適應系統 |
4. 具有過渡動畫效果的布局 Layout
4.1 CoordinatorLayout - 完美協調子 View 工作的核心部件
布局文件:
<android.support.design.widget.CoordinatorLayout>
</android.support.design.widget.CoordinatorLayout>