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:文中有不妥之处请读者指出,欢迎交流。


猜你喜欢
- 前言我们在很多博客中都有发现,Seata AT模式里面的全局锁其实是行锁,这也是Seata AT模式和XA模式在锁粒度上的最大区别。我们可以
- Android自定义View实现等级滑动条的实例实现效果图:思路: 首先绘制直线,然后等分直线绘制点; 绘制点的时候把X值存到集
- android studio 版本不同连接手机方式有细微的不同,主要方式相似。介绍主要分手机和电脑两部分介绍。一、手机部分1、手机端下载一个
- 单例模式一个类只有一个实例,并且可以全局访问使用应用场景如账户管理类,数据库操作类等(某个对象频繁被访问使用)常用方式饿汉式懒汉式同步加锁D
- 1、概括在博客中,我们将讨论如何让Spring Security OAuth2实现使用JSON Web Tokens。2、Maven 配置首
- 一. 概述参考开源项目https://github.com/xkcoding/spring-boot-demo在系统运维中, 有时候为了避免
- 报错问题如图:仔细看报错问题后发现,这个错误的主要原因是:ValidatorException:PKIX path building fai
- 本文实例讲述了Android编程使用LinearLayout和PullRefreshView实现上下翻页功能的方法。分享给大家供大家参考,具
- 一、获取android工程里面的各种资源的id; 1.1 string型 比如下面: << string name=”OK”&g
- switchJava7开始,switch的参数可以是String类型了,这真的是一个很有用的改进,毕竟string还是挺常用的。到目前为止,
- 文件上传和下载是web开发中常遇到的问题,这几天在做一个项目又用到了文件下载,之前也零零散散记了些笔记,今天来做一下整理。文件上传还有待进一
- 这篇文章主要介绍了如何基于Java实现对象List排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- 前言我又搞回笃NET啦!java之路真是命运多舛,好事多磨。不过,也许我已经进入无招胜有招,博取众家之长、融会贯通的地步了。对于WebApi
- 介绍超级管理员:系统管理、用户管理、网点管理、运输点管理、快递员管理、网点申请管理(审核)、报价管理(时效报价)等。普通用户:注册登录、个人
- 一:深入解析JSTL标签库 1、什么是JSTL标签库①Java Standard Tag Lib(Java标准的标签库)。②JST
- 网络应用模式主要有:主机/终端模式:集中计算,集中管理;客户机/服务器(Client/Server,简称C/S)模式:分布计算,分布管理;浏
- java的接口解耦方式我只想把抽象的东西说的具体,或者说,听起来简单些,明白些。。。学过java的人都知道,java是单继承的,也就是说一个
- 队列和堆栈都是约束版的链表,就像在超市购物,队列是先进先出的数据结构。接着上一篇,派生于链表类List,来模拟一个队列。namespace
- 本文实例为大家分享了Android画画板展示的具体代码,供大家参考,具体内容如下main.xml布局<RelativeLayout x
- 今天研究了一下scope的作用域。默认是单例模式,即scope="singleton"。另外scope还有prototy