
Android Draw
文章平均质量分 57
fyfcauc
这个作者很懒,什么都没留下…
展开
-
android drawable setBounds()
/** * Specify a bounding rectangle for the Drawable. This is where the drawable * will draw when its draw() method is called. */ public void setBounds(int left, int top, int right,原创 2015-01-29 16:09:37 · 5480 阅读 · 1 评论 -
利用Canvas 的 scale来反转 drawable
canvas.scale(-1, -1 , px, py) scale为负值即可实现反转 drawable.matrix应该也可以.原创 2015-02-06 16:49:39 · 895 阅读 · 0 评论 -
canvas save() restoreToCount() Test
/** * Saves the current matrix and clip onto a private stack. Subsequent * calls to translate,scale,rotate,skew,concat or clipRect,clipPath * will all operate as usual, but when the原创 2015-01-30 13:59:27 · 3293 阅读 · 0 评论 -
android View TranslationX/Y
基于4.4今天简单测试了下View的 TranslationX/Y的效果,代码注释写的其实很含糊,起码没有写出这个属性的影响:* The horizontal location of this view relative to its {@link #getLeft() left} position.* This position is post-layout, in addition原创 2015-01-28 15:26:35 · 2006 阅读 · 0 评论 -
Android View Touch ScrollX/Y TransLationX/Y ScaleX/Y
ScrollX ScrollY 指的是 当前呈现出来的区域的 左上角 针对于 View本身的区域的左上角(0,0) 的相对 X Y坐标。原创 2015-01-07 09:30:46 · 1838 阅读 · 0 评论 -
android canvas 操作 test
简单测试: p.setColor(Color.rgb(255, 255, 255)); c.drawRect(new Rect(0, 0, 500, 500), p); c.scale(0.5f, 0.5f); p.setColor(Color.rgb(0, 0, 255)); c.drawRect(new Rect原创 2014-12-15 17:20:30 · 715 阅读 · 0 评论 -
2.3 setVisiblity GONE 仍能响应事件
在适配2.3设备时,遇到一个问题, 将一个view已经设为GONE了,但是仍能收到touch事件,后来查了下stackoverflow,http://stackoverflow.com/questions/9333220/buttons-within-view-are-still-clickable-even-though-views-visibility-is-goneandroid的v原创 2014-11-14 11:42:59 · 1618 阅读 · 0 评论 -
Tab 模块 (三)
Tab 模块 (三)TabContainer作为一层layout的存在有些浪费的,是当时应急为了实现调整tabViewList的gravity而作为layout添加的.TabContainer完全可以作为TabMenu的一部分或者一个组件存在.TabContainer逻辑上也是一个中间层的角色,上下传达消息.TabMenu的一部分C逻辑被分在了TabContaine原创 2015-03-07 14:22:37 · 618 阅读 · 0 评论 -
ViewFlow 源码阅读笔记(1)
1. ViewFlow, 继承自AdapterView, 基本和ViewPager差不多,不过可以动态的增加View, 自行维护了一个SideBuffer*2大小的view buffer, 提升用户体验,可以作为xml属性设置。 A horizontally scrollable ViewGroup with items populated from an Adapter.原创 2015-05-05 11:24:04 · 556 阅读 · 0 评论 -
Android View 使用自定义stateListDrawable时使用 verifyDrawable(...)
在一个需求中,需要自己维护一个drawable,并且这个drawable是一个stateListDrawable,需要根据不同的state来进行切换以及刷新UI,遇到两个小坑:1. 这个Drawable对象的setCallback要设置为对应的View.2. 要复写View的verifyDrawable(Drawable who)上面两个不满足,就算调用了drawable的se原创 2015-10-28 13:21:41 · 1850 阅读 · 0 评论 -
Android Choreographer 源码笔记
之前有写过一篇粗略分析的文章: http://blog.youkuaiyun.com/fyfcauc/article/details/43307253 不过还是不够,这次再专门细读一下:Choreographer主要被外部使用的函数是postCallback(…), 就是在Choreographer中schedule一个Task,这个Task何时运行,则是是由Choreographer来自行安排,满足作S原创 2015-06-19 16:57:16 · 1405 阅读 · 0 评论 -
Android Animator setTarget
一直以来,在使用ObjectAnimator等Animator的时候, animator的Target一般都是直接设置为某个View,常规都是这么用,通过Animator的不断的改变 target view的属性,从而实现动画, 今天发现了一种非常规的用法,比如一个奇葩的需求或者场景, 有两个view,对于view1 要求scale效果,对于view2要求alpha效果,常规可以给这两个view分原创 2015-01-19 13:30:00 · 2318 阅读 · 0 评论 -
android selector 自定义 drawable state
selector 的运作原理 这一篇已经讲的很清楚了:http://blog.youkuaiyun.com/guolin_blog/article/details/17045157最后一步显示是通过DrawableContainer的selectDrawable(int idx)然后mCurrDrawable.setVisible(......) 来实现的图像变化。目前项目中实现夜间模原创 2014-12-15 11:43:06 · 1769 阅读 · 0 评论 -
Android ImageView src 与 background 的差别
一个小test:做了一个会响应scroll上下移动的ImageView,在响应scroll移动时,发现,其src的图片会随着scrollTo/By()移动, 而 background的图片则在这个过程一直保持不变。然后有测试了每次onDraw()时在canvas上draw一个圆,这个圆也会随着scroll上下变动。看了下code:background的draw其实是在基础类Vi原创 2014-12-16 16:51:00 · 578 阅读 · 0 评论 -
Android bitmap图片处理
一、View转换为Bitmap 在Android中所有的控件都是View的直接子类或者间接子类,通过它们可以组成丰富的UI界面。在窗口显示的时候Android会把这些控件都加载到内存中,形成一个以ViewRoot为根节点的控件树,然后由根节点开始逐级把控件绘制到屏幕上。 可以通过调用控件的setDrawingCacheEnabled(true)方法,转载 2015-01-30 11:36:50 · 698 阅读 · 0 评论 -
View postInvalidateOnAnimation() invalidate()
/** * Cause an invalidate to happen on the next animation time step, typically the * next display frame. * * This method can be invoked from outside of the UI thread * only when this View is原创 2015-01-30 16:23:34 · 3747 阅读 · 0 评论 -
EventThread线程对VSync的接收
From: http://blog.chinaunix.net/uid-13164110-id-3481832.htmlEventThread被设计用来接收VSync事件通知,并分发VSync通知给系统中的每一个感兴趣的注册者。VSync来源自底层硬件驱动程序的上报,对于Android能看到的接口来说,它是来自HAL层的hwc_composer_device的抽象硬件设备。若硬件不支持,则转载 2015-02-03 10:45:45 · 689 阅读 · 0 评论 -
android android:duplicateParentState="true" "false"
From: http://blog.youkuaiyun.com/ysh06201418/article/details/39641419 今天要做一个效果,组件RelativeLayout上有两个TextView,这两个TextView具有不同的颜色值,现在要的效果是,当RelativeLayout被点击时,整个item有高亮背景。同时这两个TextView要变色。就是父控件响应点击事转载 2015-01-16 09:45:35 · 453 阅读 · 0 评论 -
overdraw优化小结
From: http://blog.youkuaiyun.com/huli870715/article/details/39646575overdraw优化小结★ 预备知识在Android的开发过程中,drawing performance往往是我们最关注也是努力去优化的一个点。而造成drawing perfomance的元凶之一就是overdraw。那么1. 什么是overd转载 2015-01-16 15:25:21 · 568 阅读 · 0 评论 -
Android中canvas rotate中心点问题图解
第一步平移:canvas.translate(200, 100);第二步旋转90度(注意:x 和 y 坐标会一同旋转)canvas.rotate(90);第三步向x轴移动-100canvas.translate(-100, 0);第四步向x轴移动-100,向y轴移动200canvas.transla转载 2015-02-06 18:08:53 · 596 阅读 · 0 评论 -
[Android] PorterDuff使用实例----实现新浪微博图片下载效果
From: http://blog.youkuaiyun.com/sodino/article/details/7741236先上效果图,如demo_sinaweibo.gif由效果图,下半部分是简单的效果叠加,上半部分是新浪微博加载图片显示进度的效果,显示进度的半透明区域只与根据背景图的非透明区域叠加,背景图的透明区域仍为透明。为实现此要求,联想到APIDemos中的com.exam转载 2015-01-05 09:59:54 · 587 阅读 · 0 评论 -
Android 颜色渲染(九) PorterDuff及Xfermode详解
From: http://blog.youkuaiyun.com/t12x3456/article/details/10432935Android 颜色渲染(九) PorterDuff及Xfermode详解 之前已经讲过了除ComposeShader之外Shader的全部子类, 在讲ComposeShader(组合渲染)之前, 由于构造ComposeShader需要 PorterDuff转载 2015-01-05 09:53:37 · 436 阅读 · 0 评论 -
Wallpaper模块(2)
Wallpaper模块(2):WallPaperFragment extends ButtonReceiveFragment,后者是项目的一个基础类,作用很简单,在被attach到某个Actviity时,如果Actviity是一个ButtonProvider,那么该fragment就会将自己register到该Activity以在Activity收到onKeyDown时,会被通原创 2015-03-13 16:54:22 · 821 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获取Bit转载 2015-03-09 16:42:07 · 413 阅读 · 0 评论 -
RecyclerView机制解析: ItemDecoration
RecyclerView的ItemDecoration机制相对比较简单,不过扩展性很强,在ChildView的测量和展示上为使用者提供了极大的发挥空间,像divider/项目高亮/项目边框等效果都可以轻松实现ItemDecoration可以同时存在复数个,维护在一个列表中,影响是可以叠加的,ItemDecoration的作用顺序从列表头到列表尾。addItemDecoration可以添加一个Ite原创 2017-01-09 19:10:09 · 3839 阅读 · 0 评论