Android自定义UI的实现和应用
在Android项目开发中,不可避免的要遇到自定义的UI,用较好的体验去讨好UED妹子和交互设计师手下留情~几个迭代下来,遇到了不少这样的要求,有简单有复杂。最好的实现方案就是讲业务和UI隔离,封装成独立的UI控件供以后复用。以下列举几个项目中用到的例子,源代码有的已经整理到Github,还有一些需要优化后再整理到GIthub上,暂时先把例子展示出来,待续。。。
目前的项目:嗨健康。各大应用市场免费哦,欢迎下载体验。。。
O、柱状图动态绘制
这个是为了展示计步历史记录的,分周和月两个展示维度,均可滑动,当前页绘制一个展示周期的数据条形图。切换时间时动画动态展示计步数据。3月中旬嗨健康的版本新增计步功能,会很好的展示这个功能。
项目Demo 预览展示:http://t.cn/RGYKviS
一、滑动日期组件:在Github的FancyCoverFlow项目基础上,增加了以下功能。
1.水平时间滑动组件,显示三种日期:历史日期,未来日期,当前日期,其中当前日期背景特定。
2.实现滑动阻断:只能滑动到当前日期,不可滑动到未来日期
3.支持点击选中,未来日期除外。
4.解决了滑动阻断和滑动过程每个项目均会经历选中状态的冲突。利用setCallbackDuringFling(false)则滑动阻断实现不了,才用线程睡眠时间间隔判断的方式.
原Github项目地址:https://github.com/davidschreiber/FancyCoverFlow
改造后的项目地址:https://github.com/RanCustomAndroidUI/FancyCoverFlow
改造后的效果:http://t.cn/RGYKAqM
二、多种样式的节点进度条Demo
每个节点有未发生、当前、历史三种状态。
项目地址:https://github.com/RanCustomAndroidUI/DemoMutiProgress
Demo展示:http://t.cn/RGYK2gU
三、图片重叠水平控件Demo
图片重叠水平控件Demo,自定义控件实现,左面的图像压着右面的。注意如果用传统的GridView去设置,是右面的压着左边的。
项目地址:https://github.com/RanCustomAndroidUI/DemoMutiProgress
Demo展示:http://t.cn/RGYKPpK
四、弧形动画菜单Demo
点击主Button后子Button旋转弹出,每个子Button都可以注册点击事件,并且点击后动画复原。支持长按拖拽,一共有三个拖拽后可放置的位置,弧形会更根据位置自动变化。
项目地址:https://github.com/maoranbian/HiifitUIKit
Demo展示:http://t.cn/RGYouN8
Android自定义UI的实现和应用的更多相关文章
- android自定义UI模板图文详解
不知道大家在实际开发中有没有自定义过UI模板?今天花时间研究了一下android中自定义UI模板,与大家分享一下. 每个设计良好的App都是自定义标题栏,在自定义标题栏的过程中大部分人可能都是自定义一 ...
- Android自定义UI模板
第一步:自定义xml属性 新建一个android项目,在values文件夹中新建一个atts.xml的文件,在这个xml文件中声明我们一会在使用自定义控件时候需要指明的属性.atts.xml < ...
- android自定义View之NotePad出鞘记
现在我们的手机上基本都会有一个记事本,用起来倒也还算方便,记事本这种东东,如果我想要自己实现,该怎么做呢?今天我们就通过自定义View的方式来自定义一个记事本.OK,废话不多说,先来看看效果图. 整个 ...
- Android开源的精美日历控件,热插拔设计的万能自定义UI
Android开源的精美日历控件,热插拔设计的万能自定义UI UI框架应该逻辑与界面实现分离,该日历控件使用了热插拔的设计 ,简单几步即可实现你需要的UI效果,热插拔的思想是你提供你的实现,我提供我的 ...
- Android自定义View和控件之一-定制属于自己的UI
照例,拿来主义.我的学习是基于下面的三篇blog.前两是基本的流程,第三篇里有比较细致的绘制相关的属性.第4篇介绍了如何减少布局层次来提高效率. 1. 教你搞定Android自定义View 2. 教你 ...
- Android自定义View 画弧形,文字,并增加动画效果
一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类 B ...
- Android 自定义View合集
自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/ ...
- Android 自定义View (五)——实践
前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...
- [原] Android 自定义View步骤
例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放. 一个设计良好的自定义view和其他设计良好的类很像.封装了某个具有易用性接口的功能组合,这些功能能 ...
随机推荐
- sql 中的时间处理问题
select GETDATE() as '当前日期',DateName(year,GetDate()) as '年',DateName(month,GetDate()) as '月',DateName ...
- HDU 1046 - Gridland
果然是数学题 #include <iostream> #include <cstdio> #include <cmath> using namespace std; ...
- C++ 开源库
1.C++各大有名库的介绍——C++标准库 2.C++各大有名库的介绍——准标准库Boost 3.C++各大有名库的介绍——GUI 4.C++各大有名库的介绍——网络通信 5.C++各大有名库的介绍— ...
- AngularJS 深入理解 $scope 转载▼
AngularJS 深入理解 $scope 转载▼ (2015-04-07 14:09:50) $scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达 ...
- 如何处理JS与smarty标签的冲突
smarty的默认标记符是大括号:{}, 假如我们页面上有JS且定义了函数或者对象,或者有CSS定义了样式,就会出现大括号, smary引擎就会把这些大括号当作smarty语法来解释, 很明显,这些C ...
- oracle全文检索笔记
1.删除词法解析器 exec ctx_ddl.drop_preference('my_lexer'); 2.创建中文词法解析器 exec ctx_ddl.create_preference ('my_ ...
- python运维开发(十)----IO多路复用线程基本使用
内容目录: python作用域 python2.7和python3.5的多继承区别 IO多路复用 socketserver模块源分析 多线程.进程.协程 python作用域 python中无块级作用 ...
- API例子:用Python驱动Firefox采集网页数据
1,引言 本文讲解怎样用Python驱动Firefox浏览器写一个简易的网页数据采集器.开源Python即时网络爬虫项目将与Scrapy(基于twisted的异步网络框架)集成,所以本例将使用Scra ...
- Counting Triangles(hd1396)
Counting Triangles Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- px,dp,dip,sp,in,mm,pt详细分析
px,dp,dip,sp,in,mm,pt详细分析 px :(pixels),屏幕的像素点,不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. dip :(devi ...