
Android自定义控件
文章平均质量分 75
顾明伟
这个作者很懒,什么都没留下…
展开
-
Android 图片拖拽、放大缩小的自定义控件
需求:像相册中的图片跟随手指缩放原创 2014-10-21 15:25:43 · 6437 阅读 · 4 评论 -
Android自定义控件——手把手教你实现SlidingMenu(一)
s原创 2015-11-10 00:29:30 · 2406 阅读 · 0 评论 -
Android自定义控件——手把手教你实现SlidingMenu(二)
上篇回顾:上篇中创建了项目的基本组成,并且成功的把Activity的contentView set 给了我们自定义的RelativeLayout中的SlidingMenuAbove系列二 本片介绍如何实现基本的滑动动作手指在SlidingMenuAbove上左右滑动的时候SlidingMenuAbove在一定的情况下跟随手指滑动松开手指后Sliding完成余下原创 2015-11-10 21:58:52 · 2155 阅读 · 0 评论 -
Android自定义控件——FloatLayout
本文介绍一个好多App都有的布局容器,如图原创 2015-10-11 13:15:23 · 3878 阅读 · 0 评论 -
Android 自定义控件——自定义属性
本文介绍在 Android 当中自定义控件使用自定义属性本文以下图为例进行讲解 如图:一个圆,我们自定义一个View ,以画一个圆为例,以圆的半径、颜色、透明值 作为自定义属性来进行讲解先定义自定义的View,继承View,重载其三个构造方法 Circle.java 一般我们的自定义属性也是在重载的构造方法中进行初始化,初始化之前我们需要事先定义好属性文件,也原创 2014-12-31 20:09:29 · 2358 阅读 · 1 评论 -
Android自定义控件——PullZoomView
本文介绍PullZoomView的简单实现,如图:就是通过下拉ListView或者ScrollView或者更多的View如GridView,RecycleView等等,的时候对Header有一个放大缩小的效果实现思路就是根据所需要封装的不同的下拉控件来做不同的实现,比如:ListView:该控件本身有添加Header的功能,我们只需做简单的处理就可以用了,在满足一定条件原创 2016-01-15 00:24:22 · 5180 阅读 · 4 评论 -
Android自定义控件——Indicator
Indicator确实是个老梗了...有重写HorizontalScrollView的,有重写LinearLayout。这个是重写LinearLayout的哦,往LinearLayout里add TextView用作tab标签,在LinearLayout底部画一个矩形当作指示器。ViewPager滚动的时候用简单的小学加减乘除混合运算来机选这个矩形位置,然后滚动就好了原创 2015-12-02 22:49:30 · 4208 阅读 · 5 评论 -
最近写的一个控件——Well Swipe beta 1.0
最近花了大概一个半月的业余时间写的,从没有到有,中间也碰到了很多的坑,一点一点的都啃过去了...还有很多的地方需要优化,比如1.编辑状态下如何对比原有数据的和编辑过之后的,选择一种效率最高的方式进行数据库的更新,目前走的做法是把现有的全删了,然后把编辑过之后的重新插入,但是明显感觉到会耗费时间。2.编辑状态下删除一个如何进行过度动画。3.创建文件夹等高级功能4.主题功能原创 2016-04-11 10:26:48 · 1696 阅读 · 4 评论 -
最近写的一个控件——Well Swipe 拖拽排序实现
Protocol Buffersprotocol buffers 是一种平台无关的,中性的,可扩展机制的序列化结构化数据What are protocol buffers?Protocol原创 2016-04-20 00:50:25 · 4179 阅读 · 5 评论 -
Android自定义控件——ExpandTextView
本文介绍一个这样婶儿的TextView,如图:点击的时候TextView会伸缩,有种Clip的感觉,原理也很简单,就是把两个TextView重叠起来,一个现实固定的行数的文本,另一个现实全部的文本,初始化的时候,容器的高度等于固定文本的高度,完全展开时的高度等于文本显示全的高度,过程用一个动画控制就可以了。下面贴代码:ExpandTextView.javaimport原创 2016-01-25 00:36:18 · 6289 阅读 · 6 评论 -
仿微信滑动退出Activity
原理一句话就能描述清楚。重写Activity的dispatchTouchEvent,滑动的时候拿到Activity栈中栈顶Activity的上一个Acticity的ContentView添加到栈顶Activity的DecorView中,滑动的过程中做视图平移,滑动结束之后把前面拿过来用的ContentView归还给上一个Activity,然后finish当前Activity。原创 2016-12-28 10:40:17 · 1887 阅读 · 4 评论 -
Android自定义控件——手把手教你写出Google样式的ProgressBar
本文详细地给大家介绍一下如何实现一个Google样式ProgressBar这里有个相对简单的热热身先 Android 自定义控件——Simple_Loading看图先:balalala好了,我们要实现的就是这样的效果分析:根据前面链接中的重写方式,我们需要重写一个View,然后在View中通过计算来画圆弧,从而实现一个LoadingBar,我们回过头来想想,既然系原创 2015-09-23 00:20:24 · 3444 阅读 · 0 评论 -
Android 自定义控件——Simple_Loading
本文介一个简单的自定义加载圈的实现先看看效果:继承View,和一系列的自定义属性在画布上实现的Loading的效果效果总共三中:1.弧度Loading2.圆Loading3.可以设置1-100的数字,表示百分比,并在Loading上表示相应的百分比效果属性文件和属性的意义:原创 2015-09-08 00:57:34 · 2606 阅读 · 3 评论 -
ViewGroup重写——滚动页面容器
滚动页面容器子控件水平排列子控件之间可以相互滚动切换松开手指可以自动前后切换比如像ViewPager一样,跟随手势滚动,松开手指可以自动判断滚动到上一个还是下一个。如图。重写onLayout指定子控件的位置,重写onTouchEvent处理触摸事件,实现onGestureListener接口,处理scroll事件。onLayout的规则就很简单了,高不变,宽按照个数原创 2015-05-09 00:15:28 · 1655 阅读 · 0 评论 -
Android 自定义控件——图片剪裁
本文介绍一个自定义的图片剪裁控件该控件由另一篇博文:Android 图片拖拽、放大缩小的自定义控件 扩展而来如图:思路:在一个自定义View上绘制一张图片(参照前面提到的另一篇博文),在该自定义View上绘制一个自定义的FloatDrawable,也就是图中的浮层。绘制图片和FloatDrawable的交集的补集部分灰色阴影(这个其实很简单,就一句话)。在自定义View的tou原创 2014-12-16 15:00:13 · 5870 阅读 · 12 评论 -
Android 自定义控件——PagerSlidingTabStrip
PagerSlidingTabStrip是Gihub上的开源项目:https://github.com/astuetz/PagerSlidingTabStrip主要的就一个类PagerSlidingTabStrip.java 如图:原创 2014-11-20 20:40:16 · 3250 阅读 · 0 评论 -
Android shap 控件美化
android中我们一般通过给控件设置png图片来改变控的外观,shap也能定义简单的图形来完成同样的的功能。shap在drawable目录下,根节点为shap。1.圆形或者椭圆形android:shape="oval" 椭圆solid 颜色控件长宽相等时显示圆,不相等时椭圆<shape xmlns:android="http://schemas.androi原创 2014-12-02 15:10:57 · 2169 阅读 · 0 评论 -
Android自定义控件——自定义控件双击事件
本文介绍给自定义的控件加统一的双击监听事件,当然也可以对原生控件加本文通过一个Button来演示原理很简单,自定义一个接口 DoubleClickListener,定义抽象方法 onDoubleClick(View view);在touch事件中对 Button做具体的计算,通过两次计算系统时间的毫秒数的差值来判断是否是是双击。自定义Button:继承Button,构造方原创 2014-12-31 14:26:30 · 1790 阅读 · 0 评论 -
Android自定义控件——自定义Preference
如图定义一个颜色选择的Preference思路:继承Preference,重写onCreateView前提:需要一个布局文件,TextView显示文本,ImageView显示颜色<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/pref原创 2015-02-26 19:40:13 · 5245 阅读 · 0 评论 -
Launcher FolderGroup 指示器效果
FolderGroup这个名字是我自己想的,意思一目了然,那到到啥是FolderGroup呢?来看这种效果:自从某桌面第一次尝试这种文件夹的交互方式之后,马上就被抄袭的一塌糊涂。对Launcher又了解的人都知道,Worksapce的左滑和右滑效果是通过重写了ViewGroup来实现的,单单这个类就将近4k行,系统的LinearLayout也不过才3k多。ViewPager原创 2015-04-18 00:44:12 · 1822 阅读 · 1 评论 -
ViewGroup重写——网格容器
本文介绍ViewGroup重写,我们所熟知的LinearLayout,RelativeLayout,FrameLayout等等,所有的容器类都是ViewGroup的子类,ViewGroup又继承View。我们在熟练应用这些现成的系统布局的时候可能有时候就不能满足我们自己的需求了,这是我们就要自己重写一个容器来实现效果。ViewGroup重写可以达到各种效果,下面写一个简单的重写一个ViewGr原创 2015-04-25 00:14:41 · 2225 阅读 · 0 评论 -
Android 自定义主菜单
本文介绍一个超简单的自定义主菜单,效果如下:原理:其实就是对原生的Dialog的一个简单的封装。并加上显示和隐藏的动画效果。再给控件加上回调事件。TestDialog.javapublic class TestDialog implements OnClickListener { private Context mContext; private Dialog mD原创 2015-08-25 00:26:04 · 4006 阅读 · 4 评论 -
Android 自定义Activity基类
我们在开发App的时候有时候碰到多个界面有一个共同点的时候,比如,都有相同的TitleBar,并且TitleBar可以设置显示的文字。TitleBar上的点击事件,如果给每一个Activity都写一遍TitleBar是一件非常费事的事情,这个时候我们就可以重写一个Activity基类,让其他有相同点的Activity来继承这个类,从而省去了很多的重复不必要的工作。提高了效率。如图:原创 2015-08-25 01:07:36 · 8891 阅读 · 5 评论 -
Launcher中的App索引——Apps字母索引组件
本文介绍Launcher中的Apps字母索引功能,什么是字母索引呢?Google的原生的Launcher是用抽屉来装所有App的,但是抽屉真的方便吗?最近市场上流行的好多轻量级桌面都纷纷抛弃了抽屉,用Apps索引来代替。如图:我们来分析一下然后自己做一个1.整体可以重写RelativeLayout2.右边的滑动的字母条可以重写LinearLayout3.中间装A原创 2015-04-20 01:27:05 · 2719 阅读 · 1 评论 -
猎豹"快切App"中用到的Android开发技巧探索[附源码]
原文链接:http://blog.csdn.net/u013045971/article/details/52119117前景提要: 什么是块切? 快切是从猎豹的Clear Master中分离出来的一个悬浮窗小工具。因为对这个比较感兴趣,博主断断续续花了2个月时间完成了一个类似块切的版本,起了个名字叫“Well Swipe”,中文名叫“Well 划划”。本文会针对Well 划划开发中遇到的一些坑和和技巧做一个分享。来给大家揭密块切开发过程中用到的自定义控件技术细节。在这里还原创 2016-08-05 01:56:50 · 9383 阅读 · 54 评论