要实用Android Design Support Library需要添加引用:
compile 'com.android.support:design:22.2.0'
Snackbar
Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈。
Snackbar的使用与Toast的使用基本相同:
Snackbar.make(view, "Snackbar comes out", Snackbar.LENGTH_LONG)
.setAction("Action", new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(
MainActivity.this,
"Toast comes out",
Toast.LENGTH_SHORT).show();
}
}).show();
大致的效果:
image.png
目前这个控件我还没用过
TextInputLayout
TextInputLayout是将EditText包含起来使用的,不能单独使用。
Floating Action Button
floating action button 是一个负责显示界面基本操作的圆形按钮。
image.png
TabLayout
通常这种滑动布局会和viewpager配合起来使用,通过
tabLayout.setupWithViewPager(mViewPager);这句话将两者结合起来。
image.png
NavigationView
NavigationView配合DrawerLayout实现侧滑抽屉效果。
image.png
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="org.mobiletrain.drawerlayout.MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="主页面"/>
</LinearLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="left"
android:fitsSystemWindows="true"
app:headerLayout="@layout/header_layout"
app:menu="@menu/main"></android.support.design.widget.NavigationView>
</android.support.v4.widget.DrawerLayout>
DrawerLayout是父控件,中间的是主页面,NavigationView是侧滑菜单。app:headerLayout是侧滑菜单的头部内容,app:menu是菜单的列表项。android:layout_gravity="left" 表示侧滑菜单在左边。
Toolbar
Toolbar 主要是用来替换ActionBar的,也就是说ActionBar能做的,Toolbar都能做。有一点需要说明的是在使用toolbar的时候需要先把actionbar给隐藏掉。ToolBar用来制作自定义的导航栏,可以对导航栏的logo,标题,子标题进行自定义。当然ToolBar更灵活,有更多的效果。
这个控件一般结合AppBarLayout来实现一些比较酷炫的效果。
AppBarLayout
AppBarLayout继承自LinearLayout,布局方向为垂直方向。所以你可以把它当成垂直布局的LinearLayout来使用。AppBarLayout是在LinearLayou上加了一些材料设计的概念,它可以让你定制当某个可滚动View的滚动手势发生变化时,其内部的子View实现何种动作。
网友评论