MaterialDesign_兼容性控件的使用

来源:互联网 发布:c 源码下载 编辑:程序博客网 时间:2024/04/28 15:01

1. 什么是兼容性控件?

做过Android开发的同学应该很了解兼容性,意思就是让不同分辨率的手机看起来差别不是很大。但是你知道兼容性控件吗?其实就是同一个控件在不同android版本上(例如4.4和5.0)看起来差别不大。啥?同一个控件在不同版本上看起来不一样?上图。

这里写图片描述

这里写图片描述
代码:

AlertDialog.Builder builder = new Builder(MainActivity.this);        builder.setTitle("对话框");        builder.setMessage("测试对话框");        builder.setNegativeButton("取消", new OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub            }        });        builder.setPositiveButton("确定", new OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                // TODO Auto-generated method stub            }        });        builder.show();

这就是刚才说的同一个控件在不同android系统上的差距,大家觉得哪一个更好看呢?应该是高版本的更好一些。但是如果你仅仅这样写AlertDialog,那么程序猿公敌–产品经理该跳出来说:你这样写不行啊,4.4的太难看了,我们要和5.0一样,统一UI,巴拉巴拉一大堆。有的同学可能要懵逼了,我擦,这咋办,想了一会,决定自定义布局来实现AlertDialog里面的内容。确实,自定义布局可以实现UI统一,但是,有没有更简单的方法呢?有, 接着往下看。

2. 如何处理?

对同一个控件在不同android系统上的差距显示这一问题,Google其实也意识到了,于是他推出了一系列的兼容控件来供程序员们使用,在v7包下面。对于上面的AlertDialog,修改一下代码:
将普通的AlertDialog 改为V7下的AlertDialog, 在上图:
这里写图片描述
哇,是不是感觉和谐多了,4.4和6.0的显示完全一样了,这下,看产品经理还有啥可说的!!!

当然不仅仅是AlertDialog存在这个问题,很多其他控件也存在这样的问题。比如
EditTExt:这里写图片描述
使用android.support.v7.widget.AppCompatEditText:
这里写图片描述

在V7包里除了这些兼容性控件,还有一些其他好用的控件。比如Google官方推出的下拉刷新控件:SwipeRefreshLayout(android.support.v4.widget.SwipeRefreshLayout)。
这里写图片描述
还蛮小清新的,哈哈。这个和RecycleView配合起来,做出来的东西效果应该很不错。

还有 PopupWindow ListPopupWindow PopupMenu都是很好用的控件,大家可以自己试试。

3. 总结

使用这些兼容性控件可以帮助我们解决很多问题。在以后的博客里,我会陆续向大家介绍MaterialDesign的更多知识,谢谢观看。

0 0
原创粉丝点击