最近抽时间总结一下关于Design Support Library的知识汇总一下,便于以后自己查询
ActivityOptionsCompat :我们可以通过这个类来启动activity和添加动画;
Intent intent = new Intent(MainActivity.this, PictureActivity.class);
intent.putExtra("url", image.url);
ActivityOptionsCompat compat =
ActivityOptionsCompat.makeSceneTransitionAnimation(MainActivity.this,
v, "girl");
ActivityCompat.startActivity(MainActivity.this, intent, compat.toBundle());
recycleVIew入门不错的文章
http://blog.youkuaiyun.com/smbroe/article/details/45220175
CoordinatorLayout
可实现的功能:
1.让浮动操作按钮上下滑动,为Snackbar留出空间。
2,扩展或者缩小Toolbar或者头部,让主内容区域有更多的空间。
主要结合recycleView使用 向下滚动时,逐渐隐藏toolbar,向上时显示toolbar
3,控制哪个view应该扩展还是收缩,以及其显示大小比例,包括视差滚动效果动画。
https://my.oschina.net/kooeasy/blog/484593
Android SwipeRefreshLayout教程
http://blog.jobbole.com/71023/
Snackbar : Snackbar提供了一个介于Toast和AlertDialog之间轻量级控件,它可以很方便的提供消息的提示和动作反馈。
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();
摘自网站:http://blog.youkuaiyun.com/eclipsexys/article/details/46349721
TextInputLayout
<android.support.design.widget.TextInputLayout
android:id="@+id/til_pwd"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</android.support.design.widget.TextInputLayout>
----------
final TextInputLayout textInputLayout = (TextInputLayout) findViewById(R.id.til_pwd);
EditText editText = textInputLayout.getEditText();
textInputLayout.setHint("Password");
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
if (s.length() > 4) {
textInputLayout.setError("Password error");
textInputLayout.setErrorEnabled(true);
} else {
textInputLayout.setErrorEnabled(false);
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
这里需要注意的是,TextInputLayout的颜色来自style中的colorAccent的颜色:
#1743b7
Floating Action Button
floating action button 是一个负责显示界面基本操作的圆形按钮。Design library中的FloatingActionButton 实现了一个默认颜色为主题中colorAccent的悬浮操作按钮,like this:
摘自网站:http://blog.youkuaiyun.com/eclipsexys/article/details/46349721
TabLayout
Tab滑动切换View并不是一个新的概念,但是Google却是第一次在support库中提供了完整的支持,而且,Design library的TabLayout 既实现了固定的选项卡 - view的宽度平均分配,也实现了可滚动的选项卡 - view宽度不固定同时可以横向滚动。选项卡可以在程序中动态添加:
摘自网站:http://blog.youkuaiyun.com/eclipsexys/article/details/46349721
NavigationView
NavigationView在MD设计中非常重要,之前Google也提出了使用DrawerLayout来实现导航抽屉。这次,在support library中,Google提供了NavigationView来实现导航菜单界面
<android.support.v4.widget.DrawerLayout
android:id="@+id/dl_main_drawer"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<!-- 你的内容布局-->
<include layout="@layout/navigation_content"/>
<android.support.design.widget.NavigationView
android:id="@+id/nv_main_navigation"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/navigation_header"
app:menu="@menu/drawer_view"/>
</android.support.v4.widget.DrawerLayout>
摘自网站:http://blog.youkuaiyun.com/eclipsexys/article/details/46349721
AppBarLayout
AppBarLayout跟它的名字一样,把容器类的组件全部作为AppBar
摘自网站:http://blog.youkuaiyun.com/eclipsexys/article/details/46349721
CollapsingToolbarLayout
作用是提供了一个可以折叠的Toolbar,它继承至FrameLayout,给它设置layout_scrollFlags,它可以控制包含在CollapsingToolbarLayout中的控件(如:ImageView、Toolbar)在响应layout_behavior事件时作出相应的scrollFlags滚动事件(移除屏幕或固定在屏幕顶端)。
http://www.open-open.com/lib/view/open1438265746378.html
DrawerLayout
drawerLayout分为侧边菜单和主内容区两部分,侧边菜单可以根据手势展开与隐藏(drawerLayout自身特性),主内容区的内容可以随着菜单的点击而变化(这需要使用者自己实现)。
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0925/1713.html
CardView
Android5.0中向我们介绍了一个全新的控件–CardView,从本质上看,可以将CardView看做是FrameLayout在自身之上添加了圆角和阴影效果。请注意:CardView被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。
http://www.w2bc.com/Article/36229
推荐一篇博客
http://www.open-open.com/lib/view/open1433385856119.html
http://www.cnblogs.com/mercuryli/p/5614904.html