Android开源组件小结
时间:2022-05-26 01:41:08
前言
Android自带的组件比较丑陋(个人感觉),自己写组件比较复杂,而且必须熟悉android应用层开发的一些机制,如绘制、回调,所以非迫不得已的情况下还是不要自己写组件,因为怕考虑不周全导致譬如性能或异常方面的问题,你自己写也会耗费不少时间。个人觉得采用第三方UI是个不错的选择,尤其是你需要比较复杂的UI组件,而且又比较赶项目的时候。
优缺点
当然第三方UI组件不全是优秀的,个人总结如下:(当然远远不止这些,欢迎讨论)
优点:扩展性好,比较通用(当然也有写得比较烂的,这里不讨论),易用、开发速度快。
缺点:大多数并没有google官方的组件那么稳定,甚至有些小问题。一旦有问题调试起来非常麻烦。性能有待提高。
分享几个优秀开源第三方项目
1、GreenDroid
demos效果图:
使用体会
个人感觉这个项目使用起来并不方便,尤其是你用他提供的Activity的时候必须得继承GDApplication。(开始不知道这些,调试了很久)。其实UI界面也是很一般,而且里面很大部分功能都可以在其他的第三方库里面找到类似的。里面的ActionBar默认样式很一般,有待美化。
需要更多了解的话你可以到官方去看看:http://android.cyrilmottier.com/?p=240
2、ActionBarSherlock
demos效果图:
个人体会
这个项目的UI很漂亮,使用也很方便,demos中提供了很好的参考实例。能在低版本上实现ActionBar(系统的ActionBar在3.0以上才有)。
需要更多了解的话你可以到官方去看看:http://actionbarsherlock.com/
3、SlidingMenu
demos效果图:
个人体会
你需要用推拉式的效果,这是个不错的项目。不过你直接用可能没法用,它是依赖于ActionBarSherlock项目的。代码中也有问题,需要把SlidingFragmentActivity 这个类改成继承SherlockFragmentActivity(也就是ActionBarSherlock中的类),因为这个问题我也是找了很久都没有解决(一直没有怀疑过代码问题),后来实在不行就看看代码才发现的。
需要更多了解的话你可以到官方去看看:https://github.com/jfeinstein10/SlidingMenu
注意事项
被引用的项目必须放在和引用项目在同一个硬盘分区中,如你新建的项目Test,需要引用ActionBarSherlock,那么Test和ActionBarSherlock需要放在同一个分区,即同时在D盘或E盘之类的。之前也是因为这个问题花了不少时间,细节很重要啊。
总结
当然优秀的UI开源项目远不止这几个,但是这几个非常实用也非常有名。其他还有android-misc-widgets、QuickAction、viewbadger、viewflow...太多了。根据个人需要去了解吧。好了到此为止,如果有需要的话也可以把刚刚说的几个UI组件整理一下。
PS:文中有不妥之处请读者指出,欢迎交流。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
c#中SAPI使用总结——SpVoice的使用方法
完美解决idea moudle没有蓝色的小方块的问题
![](https://img.aspxhome.com/file/2023/7/68197_0s.jpg)
C#异步下载文件
![](https://img.aspxhome.com/file/2023/8/94598_0s.jpg)
java模拟http的Get/Post请求,并设置ip与port代理的方法
Intellij IDEA 2017新特性之Spring Boot相关特征介绍
![](https://img.aspxhome.com/file/2023/0/88140_0s.gif)
tomcat部署java web项目遇到的问题及解决方法
![](https://img.aspxhome.com/file/2023/2/58032_0s.jpg)
详解Java面向对象编程之多态
![](https://img.aspxhome.com/file/2023/8/86788_0s.png)
WPF ComboBox获取当前选择值的实例详解
Java常用集合与原理解析
![](https://img.aspxhome.com/file/2023/3/71603_0s.jpg)
C#判断数据类型的简单示例代码
springboot热部署知识点总结
![](https://img.aspxhome.com/file/2023/7/104017_0s.png)
Spring注解驱动开发实现属性赋值
springcloud微服务之Eureka配置详解
Android自定义View模仿即刻点赞数字切换效果实例
![](https://img.aspxhome.com/file/2023/6/110706_0s.gif)
JavaWeb开发之使用jQuery与Ajax实现动态联级菜单效果
![](https://img.aspxhome.com/file/2023/6/60466_0s.png)
SpringBoot核心@SpringBootApplication使用介绍
![](https://img.aspxhome.com/file/2023/2/59202_0s.png)
Android编程实现Listview点击展开和隐藏的方法
详解Kotlin的空指针处理
![](https://img.aspxhome.com/file/2023/6/81956_0s.jpg)
Android scrollToTop实现点击回到顶部(兼容PullTorefreshScrollview)
![](https://img.aspxhome.com/file/2023/2/122102_0s.png)
Android开发中的重力传感器用法实例详解
![](https://img.aspxhome.com/file/2023/1/96801_0s.jpg)