在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的实现和应用的更多相关文章

  1. android自定义UI模板图文详解

    不知道大家在实际开发中有没有自定义过UI模板?今天花时间研究了一下android中自定义UI模板,与大家分享一下. 每个设计良好的App都是自定义标题栏,在自定义标题栏的过程中大部分人可能都是自定义一 ...

  2. Android自定义UI模板

    第一步:自定义xml属性 新建一个android项目,在values文件夹中新建一个atts.xml的文件,在这个xml文件中声明我们一会在使用自定义控件时候需要指明的属性.atts.xml < ...

  3. android自定义View之NotePad出鞘记

    现在我们的手机上基本都会有一个记事本,用起来倒也还算方便,记事本这种东东,如果我想要自己实现,该怎么做呢?今天我们就通过自定义View的方式来自定义一个记事本.OK,废话不多说,先来看看效果图. 整个 ...

  4. Android开源的精美日历控件,热插拔设计的万能自定义UI

    Android开源的精美日历控件,热插拔设计的万能自定义UI UI框架应该逻辑与界面实现分离,该日历控件使用了热插拔的设计 ,简单几步即可实现你需要的UI效果,热插拔的思想是你提供你的实现,我提供我的 ...

  5. Android自定义View和控件之一-定制属于自己的UI

    照例,拿来主义.我的学习是基于下面的三篇blog.前两是基本的流程,第三篇里有比较细致的绘制相关的属性.第4篇介绍了如何减少布局层次来提高效率. 1. 教你搞定Android自定义View 2. 教你 ...

  6. Android自定义View 画弧形,文字,并增加动画效果

    一个简单的Android自定义View的demo,画弧形,文字,开启一个多线程更新ui界面,在子线程更新ui是不允许的,但是View提供了方法,让我们来了解下吧. 1.封装一个抽象的View类   B ...

  7. Android 自定义View合集

    自定义控件学习 https://github.com/GcsSloop/AndroidNote/tree/master/CustomView 小良自定义控件合集 https://github.com/ ...

  8. Android 自定义View (五)——实践

    前言: 前面已经介绍了<Android 自定义 view(四)-- onMeasure 方法理解>,那么这次我们就来小实践下吧 任务: 公司现有两个任务需要我完成 (1)监测液化天然气液压 ...

  9. [原] Android 自定义View步骤

    例子如下:Android 自定义View 密码框 例子 1 良好的自定义View 易用,标准,开放. 一个设计良好的自定义view和其他设计良好的类很像.封装了某个具有易用性接口的功能组合,这些功能能 ...

随机推荐

  1. ES6的模块化

    在之前的 javascript 中一直是没有模块系统的,前辈们为了解决这些问题,提出了各种规范, 最主要的有CommonJS和AMD两种.前者用于服务器,后者用于浏览器.而 ES6 中提供了简单的模块 ...

  2. react redux 相关技术

    React全都是围绕着组件的, 所以React基础也就是:写组件的jsx.组件的生命周期以及组件的属性和状态.jsx,只要是用过html模板的分分钟就能写了: 所谓生命周期就是组件在创建.销毁.更新阶 ...

  3. RMAN数据库恢复之恢复归档日志文件

    恢复归档日志文件如果只是为了在恢复数据文件之后应用归档文件,那并不需要手动对归档文件进行恢复,RMAN会在RECOVER时自动对适当的归档进行恢复.单独恢复归档文件一般是有特别的需求,如创建了Data ...

  4. WinForm实现窗体最小化后小图标在右边任务栏下

    一 基本功能1.  首先新建一个窗体,然后拖入一个名为 NotifyIcon 的控件,名字我没有改,就那个名字 2. 我的应用程序下有些图标文件,这里我用这个图标,我选择 013.ico 3. 选择 ...

  5. 线程:Java主线程等待子线程结束

    使用Thread.join()方法: public class App { public static void main(String[] args) { testMain(); } public ...

  6. C# winform平台下使用spread控件导出excel表格

    //首先要引入两个控件:1.根据自己的office 版本在项目->添加引用->microsoft office object 12.0 library (2010版) //2.在.net中 ...

  7. Lowest Common Ancestor of a Binary Search Tree、Lowest Common Ancestor of a Binary Search Tree

    1.Lowest Common Ancestor of a Binary Search Tree Total Accepted: 42225 Total Submissions: 111243 Dif ...

  8. Eclipse编译Arduino程序不能使用串口函数Serial.begin解决办法

    在Arduino官方的编译器当中Serial.begin(9600);初始化语句是可以直接使用的,而到Eclipse当中,同样的语句却不能用了.会出现下面的问题: 显然,这是Eclipse没有找到Se ...

  9. 从汇编看c++中成员函数指针(一)

    下面先来看c++的源码: #include <cstdio> using namespace std; class X { public: int get1() { ; } virtual ...

  10. android ellipsize 属性详解

    TextView中内容过长时添加省略号的属性,即ellipsize 用法如下: 在XML文件中设置: android:ellipsize = "end" //省略号在结尾 andr ...