在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. eclipse安装svn插件,在输入url后,一直卡在in progress界面不懂。

    今天遇到上面的情况.网上找了半天都没有找到解决的办法.后来,仔细比对了一下我的eclipse版本和svn版本.发现svn版本真的太老了.用上新的svn后,立马就可以用了 svn - http://su ...

  2. Android 启动Service服务和发送Broadcast广播的常用方法

    一.先说Service服务. 1.利用setAction()方法来指定启动的Service服务 Intent intent = new Intent(); intent.setAction(" ...

  3. AutoFac初探

    .net 4.0使用的DLL #region RegisterType注册 var builder = new ContainerBuilder(); builder.RegisterType< ...

  4. [转]如何正确清理C盘

    转自微软的Answers网站. 以下是推荐使用的方法,安全且不会误删有用的系统文件 1.尽量不要在C盘安装应用软件,在软件安装时,一般可以手动指定安装路径,您可以将软件指定安装到其他盘符. 在使用它们 ...

  5. struts2之chain的使用

    /** * 实现功能表单提交给action1先处理,再交由action2进行处理,中间传递参数a,b **/ /** * 1. 配置文件 **/ <action name="actio ...

  6. jQuery日期和时间插件(jquery-ui-timepicker-addon.js)中文破解版使用

    <html> <head> <title></title> <link type="text/css" href=" ...

  7. VS2010编译时出现错误1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    需要下载VS2010的补丁包

  8. G - Bullseye

    Description A simple dartboard consists of a flat, circular piece of cork with concentric rings draw ...

  9. 沼跃鱼早已看穿了一切 C/C++

      沼跃鱼早已看穿了一切 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 593  Solved: 229[Submit][Status][Web Boa ...

  10. Ubuntu Server 安装部署 Cacti 服务器监控

    本文的英文版本链接是 http://xuri.me/2013/10/20/install-the-cacti-server-monitor-on-ubuntu-server.html Cacti是一套 ...