您的位置:首页 > 移动开发 > Android开发

Android Design Support Library 的学习总结

2017-06-24 15:26 316 查看
最近抽时间总结一下关于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.csdn.net/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.csdn.net/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.csdn.net/eclipsexys/article/details/46349721

TabLayout

Tab滑动切换View并不是一个新的概念,但是Google却是第一次在support库中提供了完整的支持,而且,Design library的TabLayout 既实现了固定的选项卡 - view的宽度平均分配,也实现了可滚动的选项卡 - view宽度不固定同时可以横向滚动。选项卡可以在程序中动态添加:

摘自网站:http://blog.csdn.net/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.csdn.net/eclipsexys/article/details/46349721

AppBarLayout

AppBarLayout跟它的名字一样,把容器类的组件全部作为AppBar

摘自网站:http://blog.csdn.net/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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  design-ui android