
Android进阶之自定义组件
文章平均质量分 90
很多朋友已经有了Android的基础,但是比较烦恼的是如何才能更深层次的去学习Android,此专栏将带领大家走进Android的高级世界。
lxq_xsyu
这个作者很懒,什么都没留下…
展开
-
Android自定义组件系列【17】——教你如何高仿微信录音Toast
一、Toast介绍平时我们在Android开发中会经常用到一个叫Toast的东西,官方解释如下 A toast is a view containing a quick little message for the user. The toast class helps you create and show those. When the view is shown to the use原创 2016-04-11 21:46:59 · 5204 阅读 · 1 评论 -
Android自定义组件系列【16】——最帅气的自动滚动广告条
前一段时间要实现一个滚动的广告条,参考了一下网上许多实现,发现实现都很麻烦,所以我决定自己使用ViewFlipper来实现一个,在此将代码贴出来,与大家共享。转载请说明出处:http://blog.youkuaiyun.com/dawanganbanimport java.util.ArrayList;import java.util.List;import java.util.Timer;import原创 2015-02-26 09:11:47 · 4552 阅读 · 6 评论 -
Android自定义组件系列【15】——四个方向滑动的菜单实现
今天无意中实现了一个四个方向滑动的菜单,感觉挺好玩,滑动起来很顺手,目前还没有见过这样的应用,以后能不能在应用中出现或者说有没有实用价值就不好说了,既然已经做出来了就贴出来让大家也玩弄一下,说不定对你有所启发。一、效果演示(说明:目前没有安装Android模拟器,制作的动态图片太卡了,就贴一下静态图片吧,实际效果可以下载源代码查看)(向上滑动)(向下滑动)(向左滑动)(向右滑动)二、实现过程介绍1原创 2015-01-15 00:23:31 · 4232 阅读 · 0 评论 -
Android自定义组件系列【14】——Android5.0按钮波纹效果实现
今天任老师发表了一篇关于Android5.0中按钮按下的波纹效果实现《Android L中水波纹点击效果的实现》,出于好奇我下载了源代码看了一下效果,正好手边有一个Nexus手机,我结合实际效果看了一下,发现有一些地方和实际效果稍有不同,参考任老师的博文实现简单实现了一个重写View组件的代码,将全部代码贴出,如果有什么问题或者更好的方式请指出,在此再次感谢任老师的这篇博文。转载请说明出处:htt原创 2015-01-13 00:03:09 · 8605 阅读 · 14 评论 -
Android自定义组件系列【13】——Android自定义对话框如此简单
在我们的日常项目中很多地方会用到对话框,但是Android系统为我们提供的对话框样子和我们精心设计的界面很不协调,在这种情况下我们想很自由的定义对话框,或者有的时候我们的对话框是一个图片,没有标题和按钮,例如这样的一系列需求,这一篇文章我们来给大家介绍一下如何像使用Activity一样来自定义我们的对话框。一般自定义对话框有三种办法:1、重写Dialog来实现。2、获取Dialog的Window对原创 2014-12-30 17:56:27 · 3759 阅读 · 5 评论 -
Android自定义组件系列【12】——非UI线程绘图SurfaceView
一、SurfaceView的介绍在前面我们已经会自定义View,使用canvas绘图,但是View的绘图机制存在一些缺陷。1、View缺乏双缓冲机制。2、程序必须重绘整个View上显示的图片,比较耗资源。3、非UI线程无法更新View组件,所以会占用主线程资源,当需要在主线程中处理逻辑的时候会很慢。在Android中为我们提供了一个SurfaceView来替代View实现绘制图形,一般在游戏绘图方原创 2014-12-21 22:17:56 · 4293 阅读 · 0 评论 -
Android自定义组件系列【11】——实现3D立体旋转效果
今天在网上看到一篇文章写关于Android实现3D旋转(http://www.ibm.com/developerworks/cn/opensource/os-cn-android-anmt2/index.html?ca=drs-),出于好奇就写了一个,运行效果如下:下面我们就开始一步步完成这个效果吧。实现水平滑动package com.example.rotation3dview;import原创 2014-08-07 18:17:46 · 10090 阅读 · 3 评论 -
Android自定义组件系列【10】——随ViewPager滑动的导航条
昨天在用到ViewPager实现滑动导航的时候发现微信的导航条效果是跟随ViewPager的滑动而动的,刚开始想了一下,感觉可以使用动画实现,但是这个滑动是随手指时时变化的,貌似不可行,后来再网上搜了一下,找到一个开源代码,结果打开一看大吃一惊,这么简单的效果代码居然大概有300多行,太占手机存储空间了!后来自己干脆重写ViewGroup使用scrollTo方法实现了一下,具体实现过程如下:pac原创 2014-07-05 19:55:15 · 4430 阅读 · 3 评论 -
Android自定义组件系列【9】——Canvas绘制折线图
有时候我们在项目中会遇到使用折线图等图形,Android的开源项目中为我们提供了很多插件,但是很多时候我们需要根据具体项目自定义这些图表,这一篇文章我们一起来看看如何在Android中使用Canvas绘制折线图。先看看绘制的效果:实现原理很简单,我就直接给出代码:package com.example.testcanvasdraw;import java.util.ArrayList;imp原创 2014-06-16 22:01:30 · 13386 阅读 · 8 评论 -
Android自定义组件系列【8】——遮罩文字动画
遮罩文字的动画我们在Flash中非常常见,作为Android的应用开发者你是否也想将这种动画做到你的应用中去呢?这一篇文章我们来看看如何自定义一个ImageView来实现让一张文字图片实现文字的遮罩闪烁效果,下面先来看看效果吧。(录屏幕延时导致效果看起来不是很好)一、实现原理 实现原理是重写View的onCreate方法,获取图片资源后对每个像素的透明度进行修改来实现,再启动一个线程来循环改变某原创 2014-06-15 20:02:03 · 6047 阅读 · 6 评论 -
Android自定义组件系列【4】——自定义ViewGroup实现双侧滑动
在上一篇文章《Android自定义组件系列【3】——自定义ViewGroup实现侧滑》中实现了仿Facebook和人人网的侧滑效果,这一篇我们将接着上一篇来实现双面滑动的效果。1、布局示意图:2、核心代码 @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeas原创 2014-04-22 13:41:33 · 3903 阅读 · 0 评论 -
Android自定义组件系列【3】——自定义ViewGroup实现侧滑
有关自定义ViewGroup的文章已经很多了,我为什么写这篇文章,对于初学者或者对自定义组件比较生疏的朋友虽然可以拿来主义的用了,但是要一步一步的实现和了解其中的过程和原理才能真真脱离别人的代码,举一反三,很多博主其实不愿意一步一步的去写,这样很耗时,但是如果能对读者有帮助,能从这篇文章中学会自定义组件就达到我的目的了。第一步:搭建框架来实现一个3/5和2/5分屏的界面,效果如下:最外层是一个自定原创 2014-04-18 13:43:29 · 5186 阅读 · 9 评论 -
Android自定义组件系列【2】——Scroller类
在上一篇中介绍了View类的scrollTo和scrollBy两个方法,对这两个方法不太了解的朋友可以先看《自定义View及ViewGroup》scrollTo和scrollBy虽然实现了视图的偏移,但是却没有更好的控制移动过程,移动是瞬间进行的。Scroller类就是为解决这个问题而设计的。打开Scroller的源代码,可以看到startScroll方法: /** * Start原创 2014-04-18 11:30:47 · 4688 阅读 · 3 评论 -
Android自定义组件系列【1】——自定义View及ViewGroup
View类是ViewGroup的父类,ViewGroup具有View的所有特性,ViewGroup主要用来充当View的容器,将其中的View作为自己孩子,并对其进行管理,当然孩子也可以是ViewGroup类型。View类一般用于绘图操作原创 2014-04-18 10:03:20 · 8262 阅读 · 9 评论 -
Android自定义组件系列【5】——进阶实践(2)
上一篇《Android自定义组件系列【5】——进阶实践(1)》中对任老师的《可下拉的PinnedHeaderExpandableListView的实现》前一部分进行了实现,这一篇我们来看看ExpandableListView的使用并实现剩下的部分。原文出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/25546871一、Expandabl原创 2014-05-15 00:53:41 · 7480 阅读 · 17 评论 -
Android自定义组件系列【6】——进阶实践(3)
上一篇继续对任老师的《可下拉的PinnedHeaderExpandableListView的实现》进行了分析,这一篇计划中间插一段“知识点”,对Android中的事件分发机制进行解析。细心的朋友可能会发现,打开大牛写的Android项目,里面很多组件都是自定义的(这就是为什么界面和体验这么吸引你的原因),但是要灵活的去自定义组件就必须对手势(也就是各种监听)必须熟悉,能处理好事件之间的关系。先看一原创 2014-05-15 14:16:08 · 3008 阅读 · 2 评论 -
Android自定义组件系列【7】——进阶实践(4)
上一篇《》中补充了关于Android中事件分发的过程知识,这一篇我们接着来分析任老师的《可下拉的PinnedHeaderExpandableListView的实现》。一、StickyLayout中的OnGiveUpTouchEventListener接口的作用是什么? public interface OnGiveUpTouchEventListener { public b原创 2014-05-15 15:38:59 · 3269 阅读 · 1 评论 -
Android自定义组件系列【5】——进阶实践(1)
接下来几篇文章将对任老师的博文《可下拉的PinnedHeaderExpandableListView的实现》分步骤来详细实现,来学习一下大神的代码并记录一下。原文出处:http://blog.youkuaiyun.com/singwhatiwanna/article/details/25546871先看一下最终效果:新建一个activity_main.xml文件<RelativeLayout xmlns:an原创 2014-05-13 16:02:20 · 5005 阅读 · 4 评论