设计风格注意事项:
1、xml中顶部的布局写上fitsSystemWindows=”true”的话让最顶部状态栏采用colorPrimaryDark的颜色,否则状态栏不变;
2、Toolbar中menu~item中showAsAction属性共有五个值:ifRoom、never、always、withText、collapseActionView,可以混合使用。
ifRoom 会显示在Item中,但是如果已经有4个或者4个以上的Item时会隐藏在溢出列表中。当然个数并不仅仅局限于4个,依据屏幕的宽窄而定。
never 永远不会显示。只会在溢出列表中显示,而且只显示标题,所以在定义item的时候,最好把标题都带上。
always 无论是否溢出,总会显示。
withText withText值示意Action bar要显示文本标题。Action bar会尽可能的显示这个标题,但是,如果图标有效并且受到Action bar空间的限制,文本标题有可能显示不全。
collapseActionView 声明了这个操作视窗应该被折叠到一个按钮中,当用户选择这个按钮时,这个操作视窗展开。否则,这个操作视窗在默认的情况下是可见的,并且即便在用于不适用的时候,也要占据操作栏的有效空间。一般要配合ifRoom一起使用才会有效果。
下面为新控件介绍:
Design Support Library包含8个控件,具体如下:
Widget Name Description:
android.support.design.widget.CoordinatorLayout 协调者布局(超级FrameLayout),一般作为根布局,主要功能如下:
让浮动按钮FloatingActionButton上下滑动,为Snackbar留出空间。
扩展或者缩小Toolbar或者头部,让主内容区域有更多的空间。
控制哪个view应该扩展还是收缩,以及其显示大小比例,包括视差滚动效果动画。
详情可参考:http://my.oschina.net/kooeasy/blog/484593
android.support.design.widget.AppBarLayout
AppBarLayout支持手势滑动操作,它的作用是把AppBarLayout包裹的内容都作为AppBar.
MD风格的滑动Layout
xml中写上android:theme=”@style/ThemeOverlay.AppCompat.Dark.ActionBar”或android:theme=”@style/AppTheme.AppBarOverlay”的话实现appbarlayout上面的字是白色,否则为默认黑色。
android.support.design.widget.TextInputLayout 强大带提示的MD风格的EditText
android.support.design.widget.FloatingActionButton MD风格的圆形按钮,来自于ImageView(app:borderWidth - 该属性尤为重要,如果不设置0dp,那么在4.1的sdk上FAB会显示为正方形,而且在5.0以后的sdk没有阴影效果。所以设置为borderWidth=”0dp”。)
android.support.design.widget.Snackbar 类似Toast,添加了简单的单个Action
android.support.design.widget.TabLayout 选项卡
详情可参考:http://www.bkjia.com/Androidjc/1040009.html
android.support.design.widget.NavigationView 替代DrawerLayout的SlideMenu,即drawer的左侧抽屉部分。需要用DrawerLayout作为根布局。
注意:1、把Toolbar放在DrawerLayout上面可以实现抽屉在ToolBar下面的样式;如
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Content -->
<ListView
android:id="@+id/lv_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<!-- Slidingmenu -->
<ListView
android:id="@+id/id_lv_left_menu"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ffffffff"
android:clipToPadding="false"
android:divider="@null"
android:listSelector="?attr/selectableItemBackground"
android:paddingTop="0dp" />
</android.support.v4.widget.DrawerLayout>
</LinearLayout>
2、只要指定android:layout_gravity=”start”的任意布局都可以作为抽屉,如listview scrollview,start或left为左抽屉,end或right为右抽屉。
android.support.design.widget.CollapsingToolbarLayout 可折叠MD风格ToolbarLayout
详情参考:http://www.open-open.com/lib/view/open1433385856119.html
http://www.tuicool.com/articles/aeQrYv3
http://www.open-open.com/lib/view/open1436152483833.html