1. recycleview
使用方法
实现listview,gridview及瀑布流
添加分割线--自定义itemDerection
删除及增加动画
下拉刷新
onscrollstatechanged 参数(RecyclerView recyclerView, int newState)
//正在滚动 public static final int SCROLL_STATE_IDLE = 0;
//正在被外部拖拽,一般为用户正在用手指滚动 public static final int SCROLL_STATE_DRAGGING = 1;
//自动滚动开始 public static final int SCROLL_STATE_SETTLING = 2;
//记录当前滑动状态
2.cardview
使用方法
card_view:contentPadding 这个可以给你的内容加上padding属性
card_view:cardBackgroundColor这个可以改变cardview的背景
card_view:cardCornerRadius这个可以改变cardview圆角的大小
card_view:cardElevation 这个比较难解释,CardView的Z轴阴影,被用来决定阴影的大小以及柔和度,以至于可以逼真的模拟出对于深度效果的描述。说白点可以理解为阴影的大小
3.FloatingActionButton
app:borderWidth=""------------------边框宽度,通常设置为0 ,用于解决Android 5.X设备上阴影无法正常显示的问题
app:backgroundTint=""---------------按钮的背景颜色,不设置,默认使用theme中colorAccent的颜色
app:rippleColor=""--------------------点击的边缘阴影颜色
app:elevation=""----------------------边缘阴影的宽度
app:pressedTranslationZ="16dp"-----点击按钮时,按钮边缘阴影的宽度,通常设置比elevation的数值大
4.CoordinatorLayout
CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能:
作为顶层布局
调度协调子布局
CoordinatorLayout是一个增强型的FrameLayout
CoordinatorLayout包含的子视图中带有滚动属性的View需要设置app:layout_behavior属性
通过app:layout_scrollFlags=”scroll” 属性来确定哪个组件是可滑动的
设置的layout_scrollFlags有如下几种选项:
scroll: 所有想滚动出屏幕的view都需要设置这个flag- 没有设置这个flag的view将被固定在屏幕顶部。
enterAlways: 这个flag让任意向下的滚动都会导致该view变为可见,启用快速“返回模式”。
enterAlwaysCollapsed: 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能已最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。
exitUntilCollapsed: 滚动退出屏幕,最后折叠在顶端。
5.Snackbar 类似于toast,可自定义颜色,view
6.TextInputLayout 一般嵌套一个EditText,用来在输入内容后提示内容显示在外面,还具有空校验
7.TabLayout
tablayout+viewpager tabLayout.setupWithViewPager(viewPager);
tablayout.getTabAt(position).select(); 默认 选中tab位置
app:tabSelectedTextColor 改变选中字体的颜色
app:tabTextColor 改变未选中字体的颜色
app:tabIndicatorColor 改变指示器下标的颜色
app:tabBackground 改变整个TabLayout的颜色
app:tabTextAppearance="@android:style/TextAppearance.Holo.Large" //设置文字的外貌大小
app:tabIndicatorHeight="4dp" 设置指示器下标的高度
app:tabMode="scrollable"|fixed 可滚动或固定挤压
tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.mipmap.ic_launcher));
8.AppBarLayout
AppBarLayout是一个实现了很多材料设计特性的垂直的LinearLayout,它能响应滑动事件。
必须在它的子view上设置app:layout_scrollFlags属性或者是在代码中调用setScrollFlags()设置这个属性。
这个类的特性强烈依赖于它是否是一个CoordinatorLayout的直接子view,如果不是,那么它的很多特性不能够使用。
AppBarLayout需要一个具有滑动属性的兄弟节点view,并且在这个兄弟节点View中指定behavior属性为AppBarLayout.ScrollingViewBehavior的类实例,可以使用一个内置的string表示这个默认的实例@string/appbar_scrolling_view_behavior.
coordinateLayout----AppBarLayout----CollapsingToolbarLayout-----/CollapsingToolbarLayout---TabLayout----/AppBarLayout----viewpager---floatingActionButton-----/ coordinateLayout
9. CollapsingToolbarLayout
1. CoordinatorLayout作为布局的父布局容器。
2.给需要滑动的组件设置app:layout_scrollFlags=”scroll|enterAlways”属性。
3.给滑动的组件设置app:layout_behavior属性
可实现Toolbar的折叠效果
app:contentScrim="?attr/colorPrimary" 被折叠到顶部固定时候的背景,我们可以通过代码调用setContentScrim(Drawable)方法改变背景
app:title="title" ToolBar的标题,当CollapsingToolbarLayout全屏没有折叠时,title显示的是大字体,在折叠的过程中,title不断变小到一定大小的效果。我们可以通过代码调用setTitle(CharSequence)方法设置title。
app:layout_collapseMode="parallax | pin” 子视图的折叠模式,在子视图设置,有两种“pin”:固定模式,在折叠的时候最后固定在顶端;“parallax”:视差模式,在折叠的时候会有个视差折叠的效果。我们可以在布局中使用属性app:layout_collapseMode=”parallax”来改变。
使用方法
实现listview,gridview及瀑布流
添加分割线--自定义itemDerection
删除及增加动画
下拉刷新
onscrollstatechanged 参数(RecyclerView recyclerView, int newState)
//正在滚动 public static final int SCROLL_STATE_IDLE = 0;
//正在被外部拖拽,一般为用户正在用手指滚动 public static final int SCROLL_STATE_DRAGGING = 1;
//自动滚动开始 public static final int SCROLL_STATE_SETTLING = 2;
//记录当前滑动状态
2.cardview
使用方法
card_view:contentPadding 这个可以给你的内容加上padding属性
card_view:cardBackgroundColor这个可以改变cardview的背景
card_view:cardCornerRadius这个可以改变cardview圆角的大小
card_view:cardElevation 这个比较难解释,CardView的Z轴阴影,被用来决定阴影的大小以及柔和度,以至于可以逼真的模拟出对于深度效果的描述。说白点可以理解为阴影的大小
3.FloatingActionButton
app:borderWidth=""------------------边框宽度,通常设置为0 ,用于解决Android 5.X设备上阴影无法正常显示的问题
app:backgroundTint=""---------------按钮的背景颜色,不设置,默认使用theme中colorAccent的颜色
app:rippleColor=""--------------------点击的边缘阴影颜色
app:elevation=""----------------------边缘阴影的宽度
app:pressedTranslationZ="16dp"-----点击按钮时,按钮边缘阴影的宽度,通常设置比elevation的数值大
4.CoordinatorLayout
CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能:
作为顶层布局
调度协调子布局
CoordinatorLayout是一个增强型的FrameLayout
CoordinatorLayout包含的子视图中带有滚动属性的View需要设置app:layout_behavior属性
通过app:layout_scrollFlags=”scroll” 属性来确定哪个组件是可滑动的
设置的layout_scrollFlags有如下几种选项:
scroll: 所有想滚动出屏幕的view都需要设置这个flag- 没有设置这个flag的view将被固定在屏幕顶部。
enterAlways: 这个flag让任意向下的滚动都会导致该view变为可见,启用快速“返回模式”。
enterAlwaysCollapsed: 当你的视图已经设置minHeight属性又使用此标志时,你的视图只能已最小高度进入,只有当滚动视图到达顶部时才扩大到完整高度。
exitUntilCollapsed: 滚动退出屏幕,最后折叠在顶端。
5.Snackbar 类似于toast,可自定义颜色,view
6.TextInputLayout 一般嵌套一个EditText,用来在输入内容后提示内容显示在外面,还具有空校验
7.TabLayout
tablayout+viewpager tabLayout.setupWithViewPager(viewPager);
tablayout.getTabAt(position).select(); 默认 选中tab位置
app:tabSelectedTextColor 改变选中字体的颜色
app:tabTextColor 改变未选中字体的颜色
app:tabIndicatorColor 改变指示器下标的颜色
app:tabBackground 改变整个TabLayout的颜色
app:tabTextAppearance="@android:style/TextAppearance.Holo.Large" //设置文字的外貌大小
app:tabIndicatorHeight="4dp" 设置指示器下标的高度
app:tabMode="scrollable"|fixed 可滚动或固定挤压
tabLayout.addTab(tabLayout.newTab().setText("Tab 1").setIcon(R.mipmap.ic_launcher));
8.AppBarLayout
AppBarLayout是一个实现了很多材料设计特性的垂直的LinearLayout,它能响应滑动事件。
必须在它的子view上设置app:layout_scrollFlags属性或者是在代码中调用setScrollFlags()设置这个属性。
这个类的特性强烈依赖于它是否是一个CoordinatorLayout的直接子view,如果不是,那么它的很多特性不能够使用。
AppBarLayout需要一个具有滑动属性的兄弟节点view,并且在这个兄弟节点View中指定behavior属性为AppBarLayout.ScrollingViewBehavior的类实例,可以使用一个内置的string表示这个默认的实例@string/appbar_scrolling_view_behavior.
coordinateLayout----AppBarLayout----CollapsingToolbarLayout-----/CollapsingToolbarLayout---TabLayout----/AppBarLayout----viewpager---floatingActionButton-----/ coordinateLayout
9. CollapsingToolbarLayout
1. CoordinatorLayout作为布局的父布局容器。
2.给需要滑动的组件设置app:layout_scrollFlags=”scroll|enterAlways”属性。
3.给滑动的组件设置app:layout_behavior属性
可实现Toolbar的折叠效果
app:contentScrim="?attr/colorPrimary" 被折叠到顶部固定时候的背景,我们可以通过代码调用setContentScrim(Drawable)方法改变背景
app:title="title" ToolBar的标题,当CollapsingToolbarLayout全屏没有折叠时,title显示的是大字体,在折叠的过程中,title不断变小到一定大小的效果。我们可以通过代码调用setTitle(CharSequence)方法设置title。
app:layout_collapseMode="parallax | pin” 子视图的折叠模式,在子视图设置,有两种“pin”:固定模式,在折叠的时候最后固定在顶端;“parallax”:视差模式,在折叠的时候会有个视差折叠的效果。我们可以在布局中使用属性app:layout_collapseMode=”parallax”来改变。