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的更多知识,谢谢观看。
- MaterialDesign_兼容性控件的使用
- Material Design兼容性控件的使用(三)
- MaterialDesign_简介
- js兼容性很好的日期时间控件
- Material Design新控件的向下兼容性
- 对一款javascript日期控件兼容性的修改
- C# 开发中WebBrowser控件调整IE兼容性的方法
- Material Design 兼容性控件学习
- javascript中的setAttribute()方法的使用(兼容性)
- 强制不使用“兼容性视图”的HTML代码
- 浏览器兼容性经典问题(六) text-align的使用
- 强制不使用“兼容性视图”的HTML代码
- 强制不使用“兼容性视图”的HTML代码
- 强制不使用“兼容性视图”的HTML代码
- 强制不使用“兼容性视图”的HTML代码
- 强制不使用“兼容性视图”的HTML代码
- MyEclipse使用教程:Linux Internal Web浏览器的兼容性
- Android 使用TBS提高WebView的兼容性和性能
- $(( )) 與 $( ) 還有${ } 差在哪
- Linux常用命令:ping命令
- Java初始化顺序
- mysql 中 时间和日期函数
- Linux常用命令:traceroute命令
- MaterialDesign_兼容性控件的使用
- 求出1~1000之间所有能被7整除的数,并每五个求一次和。
- 链接、装载与库(2)—编译和链接2.2
- KMP算法的介绍及其Java实现
- Project Euler 24
- 319. Bulb Switcher
- 配置https双向认证,以及用soapui调试
- Linux常用命令:netstat命令
- 计算机从业者的技术成长学习之路