Android控件系列
文章平均质量分 88
易辰_
当你的能力撑不起你的野心的时候,你就静下心来努力学习
展开
-
自定义控件(10)---Canvas的save、restore方法的Stack思想
save和saveLayerXXX方法有着本质的区别,saveLayerXXX方法会将所有操作在一个新的Bitmap中进行,而save则是依靠stack栈来进行如果在上一篇博客里面的自定义view修改下onDraw方法,其他不变@Override protected void onDraw(Canvas canvas) { /* * 保存并裁剪画布填充绿色 */原创 2015-11-11 15:02:03 · 3149 阅读 · 0 评论 -
自定义控件(22)---FloatView悬浮窗(1)
点击打开链接,现在demo。。。。activity_main.xml看主界面的布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="f原创 2015-11-17 21:48:37 · 2540 阅读 · 0 评论 -
自定义控件(23)---FloatView悬浮窗(2)
点击打开链接,下载demo...点击打开链接,下载自定义控件(22)---FloatView悬浮窗(1)点击打开链接,最原始的悬浮窗代码。。。先看效果图先看主页面布局main.xml--这里面有2个button,操作是打开浮动窗口,关闭浮动窗口<LinearLayout xmlns:android="http://schemas.android.c原创 2015-11-18 17:17:11 · 3682 阅读 · 0 评论 -
自定义控件(11)---Canvas的平移、旋转、缩放、错切、Matrix直接变换Canvas
Canvas中的变换操作,说起变换,无非就几种:平移、旋转、缩放和错切,而我们的Canvas也继承了变换的精髓,同样提供了这几种相应的方法,前面的很多章节我们也都用到了,像translate(float dx, float dy)方法平移画布用了无数次,这里再次强调,translate方法会改变画布的原点坐标,原点坐标对变换的影响弥足轻重,前面也多次强调了!scale(float sx, floa原创 2015-11-11 15:55:56 · 6754 阅读 · 1 评论 -
自定义控件(18)---自定义控件之面板思想---addRule
attrs.xml(第一步,在这里)[html] view plaincopyxml version="1.0" encoding="utf-8"?> resources> declare-styleable name="TopBar"> attr na原创 2015-11-15 17:14:57 · 592 阅读 · 0 评论 -
自定义控件(14)---ViewGroup绘制的Padding、margin注意
ViewGroup测量子元素有关,其中measureChildWithMargins和measureChildren类似只是加入了对Margins外边距的处理,ViewGroup提供对子元素测量的方法从measureChildren开始:measureChildren的逻辑很简单,通过父容器传入的widthMeasureSpec和heightMeasureSpec遍历子元素并调用measure原创 2015-11-13 15:02:52 · 2590 阅读 · 1 评论 -
自定义控件(20)---自定义控件之高仿猫眼小项目(2)
项目的源码在 高仿猫眼项目连载(1)--->底部Tab栏切换实现 可以下载继续回到上篇 高仿猫眼项目连载(1)--->底部Tab栏切换实现底部Tab每个按钮各对应一个fragment界面,接下来先看简单的界面,点击Tab键的影院进行影院界面的加载--这个界面主要是了解自定义属性的使用哦主要是一个自定义属性和include的思想,如果想要让自定义属性发挥到极致去看我的fragmen原创 2015-11-16 11:25:49 · 979 阅读 · 0 评论 -
自定义控件(15)---ViewGroup绘制的自定义子View的margin注意
activity_main.xml<com.aigestudio.customviewdemo.views.CustomLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match原创 2015-11-15 14:02:14 · 3622 阅读 · 1 评论 -
自定义控件(17)---布局方式组合系统控件,并封装自定义控件思想(自定义CheckBox)
先看主布局activity_main.xml(就一个自定义控件)<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="matc原创 2015-11-15 17:10:36 · 720 阅读 · 0 评论 -
自定义控件(19)---自定义控件之高仿猫眼小项目(1)
还没写,休息会,占位用。。。。抽时间补上原创 2015-11-15 17:24:48 · 1135 阅读 · 0 评论 -
自定义控件(21)---自定义控件之高仿猫眼小项目(3)
在这篇博客里有链接 高仿猫眼电影app源码下载地址 先看布局文件吧fragment_movie_rank_layout.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:dandy="http://schemas.android.com/ap原创 2015-11-16 11:26:44 · 1314 阅读 · 1 评论 -
自定义控件(24)---自定义控件之setMargins、嵌套ScrollView并且实现ListView阻尼效果
点击打开链接、下载demo...........上面截图是这个小demo的效果图思路是:整体是一个带阻尼效果的ScrollView,大家都知道ScrollView的子view只有一个,所有它的子view也就是里面的5个Item,本demo没有用listview来实现,而是将5个item放到一个垂直线性布局里面,绘制并进行内容的设置——————————————————————原创 2015-12-05 19:51:27 · 924 阅读 · 0 评论 -
自定义控件(25)---自定义控件之组合控件
代码下载 点击打开链接首先看主布局文件activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:setting="http://schemas.android.com/apk/res/com.example.mycustomeitem"原创 2016-04-12 00:04:16 · 745 阅读 · 0 评论 -
自定义控件(5)---PorterDuffXfermode图形过滤器
点击打开链接,下载项目代码。。。。。。。。。。。。当大家看到上面API DEMO给出的效果时一定会觉得PorterDuffXfermode其实就是简单的图形交并集计算,比如重叠的部分删掉或者叠加等等,事实上呢!PorterDuffXfermode的计算绝非是根据于此!上面我们也说了PorterDuffXfermode的计算是要根据具体的Alpha值和RGB值的PS:Src为源图像,原创 2015-11-09 16:35:07 · 741 阅读 · 0 评论 -
自定义控件(9)---Canvas的save、restore、saveLayer、saveLayerAlpha
Canvas是一个容器,如果把Canvas理解成画板,那么我们的“层”就像张张夹在画板上的透明的纸,而这些纸对应到Android则是一个个封装在Canvas中的Bitmap。除了save()方法Canvas还给我们提供了一系列的saveLayerXXX方法给我们保存画布,与save()方法不同的是,saveLayerXXX方法会将所有的操作存到一个新的Bitmap中而不影响当前Canvas的B原创 2015-11-11 14:00:08 · 1391 阅读 · 0 评论 -
自定义控件(8)---PathEffect平滑曲线--点、线、矩形、圆
activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF原创 2015-11-10 15:39:53 · 889 阅读 · 0 评论 -
自定义控件(30)---绘图区域(Range)
转自启舰public void setEmpty() //置空 public boolean set(Region region) public boolean set(Rect r) public boolean set(int left, int top, int right, int bottom) public boolean setPath(Path path, Regi原创 2017-04-12 15:28:31 · 448 阅读 · 0 评论 -
自定义控件(27)---自定义控件之组合控件(2) 通用的类似设置界面的样子
一个APP中类似如下的界面 我们可以通过如下的做法来实现: 1、最基础的就是堆砌Xml布局文件 2、然后随着经验的积累,就开始用到自定义组合控件,通过获取attr里面的东东,然后去通过代码的方式去构造里面的控件,不过没有很好的扩展性,可以参考我的一篇博客链接 自定义控件(25)—自定义控件之组合控件 3、依然是获取attr里面的东西,通过移动canvas画布的方式,去构建里面的各个控件,原创 2016-11-11 16:05:39 · 848 阅读 · 0 评论 -
自定义控件(32)---【转载】Animation 动画(三)ObjectAnimator、valueAnimator
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_p原创 2015-11-22 12:23:18 · 702 阅读 · 0 评论 -
自定义控件(31)---【转载】Animation 动画(二)Interpolator插值器
转自 http://blog.csdn.net/harvic880925/article/details/40049763AccelerateDecelerateInterpolator 在动画开始与介绍的地方速率改变比较慢,在中间的时候加速AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速Antici原创 2015-11-22 12:55:30 · 556 阅读 · 0 评论 -
自定义控件(30)---【转载】Animation 动画(一)alpha、scale、translate、rotate、set的xml属性及用法
转自 http://blog.csdn.net/harvic880925/article/details/39996643一、scale标签——调节尺寸1、自有属性scale标签是缩放动画,可以实现动态调控件尺寸的效果,有下面几个属性:android:fromXScale 起始的X方向上相对自身的缩放比例,浮点值,比如1.0代表自身无变化,0.原创 2015-11-22 12:45:12 · 745 阅读 · 0 评论 -
自定义控件(29)---onTouchEvent与Scroller
转自 http://blog.csdn.net/yanzhenjie1003/article/details/53046027我们定义一个ScrollLayout,然后继承自LinearLayout,在xml中引用,然后在ScrollLayout中放一个TextView,并让内容居中:<?xml version="1.0" encoding="utf-8"?><com.yanzhenjie.def原创 2016-11-29 14:39:57 · 577 阅读 · 0 评论 -
自定义控件(28)---drawText、FontMetrics学习
这几天发现单单绘制一个文字,是需要好多需要注意的地方,特地弄一个博客,摘摘代码,来学习下,博客内容转自 自定义控件之绘图篇( 五):drawText()详解 1、canvas.drawText() protected void onDraw(Canvas canvas) { super.onDraw(canvas); int baseLineX = 0原创 2016-11-12 23:12:09 · 505 阅读 · 0 评论 -
自定义控件(26)---图片伸缩、圆角切割、内存位图
效果图如下:::需要的素材可以了解:如何图片伸缩,以及图片的圆角切割(内存生成位图)<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layo原创 2016-05-20 18:07:01 · 785 阅读 · 0 评论 -
自定义控件(16)---代码方式组合系统控件,并封装自定义控件思想
/** * * @author AigeStudio {@link http://blog.csdn.net/aigestudio} * @since 2015/1/27 * */public class LifeCycleView extends View { private static final String TAG = "AigeStudio:LifeCycleView原创 2015-11-15 15:38:48 · 620 阅读 · 0 评论 -
自定义控件(12)---View的onMeasure默认、自定义情况(MeasureSpec)
默认情况下onMeasure方法中,只是简单地将签名列表中的两个int型参数,回传给父类的onMeasure方法,然后由父类的方法去计算出最终的测量值。但是,这里有个问题非常重要,就是onMeasure签名列表中的这两个参数是从何而来,这里可以告诉大家的是,这两个参数是由view的父容器,代码中也就是我们的LinearLayout传递进来的某个布局的上下级关系如下这也是为什么我们在获取我们原创 2015-11-11 23:42:25 · 768 阅读 · 0 评论 -
自定义控件---继承View类方式(五彩绚烂的水波纹案例)
---------------------------------------看效果(还有动画效果哦)----------------------------------------------------activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr原创 2015-03-08 14:07:27 · 1157 阅读 · 0 评论 -
自定义控件---继承View类方式(自定义属性知识点简要)
简单的效果图如下-------------------------------苍老师镇楼-------------简单代码如下------------------------activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:a原创 2015-03-07 22:43:32 · 1084 阅读 · 0 评论 -
自定义控件---继承View类方式(自定义开关效果案例)
----------------------------------------------------简单的效果图--------------------------------------------------------------------------activity_main.xml<RelativeLayout xmlns:android="http://s原创 2015-03-07 22:39:22 · 1074 阅读 · 0 评论 -
自定义控件---系统控件组合式(案例二)
-----------------------------------------------案例效果-------------------------------------activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" andr原创 2015-03-06 22:02:48 · 1492 阅读 · 0 评论 -
自定义控件---系统控件组合式(案例一)
-----------------------------案例一----------------------------------------------------activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layo原创 2015-03-06 22:00:13 · 1142 阅读 · 1 评论 -
自定义ViewGroup控件(三)----->流式布局进阶(三)
activity_main.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="ver原创 2015-08-10 16:29:56 · 967 阅读 · 0 评论 -
自定义ViewGroup控件(一)----->流式布局进阶(一)
自定义ViewGroup控件(一)----->流式布局进阶(一)原创 2015-08-10 11:53:17 · 1073 阅读 · 0 评论 -
自定义控件---系统控件组合式(案例三)
效果图如下--------------------------------------------------activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com原创 2015-03-06 22:03:45 · 1067 阅读 · 0 评论 -
自定义控件---继承ViewGroup类方式(循序渐进之第1步效果----图片左右拖动)
-----------------------下面这个效果只是整个效果的刚开始-(目前只可以左右拖动图片)---一会继续更新博客-------------------------配置文件activity_main.xml(不解释,只有一个自定义控件)<RelativeLayout xmlns:android="http://schemas.android.com/apk/r原创 2015-03-08 18:20:18 · 945 阅读 · 0 评论 -
自定义控件---继承ViewGroup类方式(循序渐进之第2步效果----图片左右拖动+自动回弹效果)
-----------------------下面这个效果只是整个效果的第二步-(目前左右拖动图片+回弹效果)---一会继续更新博客-------------------------配置文件activity_main.xml(不解释,只有一个自定义控件)[html] view plaincopyRe原创 2015-03-08 19:30:37 · 1098 阅读 · 0 评论 -
自定义控件---继承ViewGroup类方式(循序渐进之第3步效果----图片左右拖动+RadioGroup切换效果)
-----------------------下面这个效果只是整个效果的第三步-(目前左右拖动图片+回弹效果+RadioGroup切换效果)---一会继续更新博客-------------------------activity_main.xml<RelativeLayout xmlns:android="http://schemas.android.com/apk/res原创 2015-03-08 21:59:36 · 1273 阅读 · 0 评论 -
自定义控件(13)---View绘制的Padding、Margin
activity_main.xml--图片包裹内容<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:backgro原创 2015-11-12 22:29:03 · 3217 阅读 · 0 评论 -
自定义ViewGroup控件(四)----->流式布局进阶(四)
onMeasure()函数由ViewGroup调用子类的方法,因此值也是从这个ViewGroup中传入的1、当我们设置自定义控件width或height为fill_parent时,容器在布局时调用子view的measure方法传入的模式是EXACTLY2、当设置自定义控件为 wrap_content时,容器传进去的是AT_MOST,表示子view的大小最多是多少3、当设置自原创 2015-07-30 22:51:24 · 898 阅读 · 0 评论 -
自定义控件(3)---LightingColorFilter光照颜色过滤器--Selector的效果
源码就是博客里的这些文件,没有上传代码,就差一个图片而已,LightingColorFilter顾名思义光照颜色过滤LightingColorFilter (int mul, int add)mul全称是colorMultiply意为色彩倍增,而add全称是colorAdd意为色彩添加,这两个值都是16进制的色彩值0xAARRGGBBLightingColorFilter(原创 2015-11-09 14:07:38 · 1817 阅读 · 0 评论