----绘图
gogolaile
这个作者很懒,什么都没留下…
展开
-
View的事件体系(一)kao
1.View是界面层控件的抽象,也就是一个控件,是界面层最基本的组成单位。ViewGroup是控件组,是View的容器。 ViewGroup是多个控件组成的控件,以此构成View树的结构。2.VelocityTracker用于zuizhong原创 2017-02-05 16:03:43 · 440 阅读 · 0 评论 -
Xfermode
Xfermode有三个子类:AvoidXfermode 指定了一个颜色和容差,强制Paint避免在它上面绘图(或者只在它上面绘图)。PixelXorXfermode 当覆盖已有的颜色时,应用一个简单的像素异或操作。PorterDuffXfermode 这是一个非常强大的转换模式,使用它,可以使用图像合成的16条Porter-Duff规则的任意一条来控制Pa原创 2017-03-10 15:53:21 · 461 阅读 · 0 评论 -
Drawable(一)
尝试用ImageView显示Drawable一开始代码如下: ColorDrawable colorDrawable = new ColorDrawable(0xff0000); //创建红色的ColorDrawable imageView.setImageDrawable(colorDrawable); //在ImageVie原创 2017-03-09 13:52:10 · 322 阅读 · 0 评论 -
自定义view
控件大概分为两类:view和viewGroup. viewGroup可以作为父控件存放多个view。 他们是以树状的形式进行组织的,上层的父view负责子view的测量和绘制,以及传递交互事件。 每个Activity都包含一个Window对象,通常由PhoneWindow来实现。PhoneWindow 将DecorView设置为整个视图结构的根。上面所原创 2016-07-05 20:59:42 · 328 阅读 · 0 评论 -
流式布局的实现
自己构思实现代码如下:package hillfly.flowlayout;import android.content.Context;import android.util.AttributeSet;import android.view.View;import android.view.ViewGroup;/** * Created by gogolaile on 1原创 2016-07-05 20:43:13 · 426 阅读 · 0 评论 -
动画二-属性动画
一时间插值器(TimeInterpolator)的作用是根据时间流逝的百分比计算出动画进度的百分比。public class LinearInterpolator implements Interpolator{ @Override public float getInterpolation(float v) { return v; }}如线转载 2017-02-07 12:06:51 · 298 阅读 · 0 评论 -
动画(一)
1.View动画是通过平移,缩放,旋转,透明度改变图片的一种渐进式的动画2.帧动画类似于放电影一样切换一张张准备好的图片而形成的动画3.属性动画是通过改变对象每个时段的属性值而形成的动画注意:动画中尽量使用dp做单位,使用硬件加速一。View动画XML方式:在res/anim/filename.xml<set xmlns:android="http://sch原创 2017-02-07 11:06:50 · 273 阅读 · 0 评论 -
Drawable
一.BitmapDrawable(图片一张)<bitmapxmlns:android="http://schemas.android.com/apk/res/android"android:src="@~" //resource资源idandroid:antialias="true|false" //抗锯齿功能,开启时可以让图片平滑android:dither="true|fal原创 2017-02-06 21:11:15 · 252 阅读 · 0 评论 -
View的工作原理(三)
一。MeasureView的Measure过程:它会调用View的onMeasure方法,在onMeasure方法中会调用setMeasureDimension(width,height)方法设置view的宽高测量值, 而width和height的值在AT_MOST和EXACTLY模式下都等于specSize.(一般都是父容器剩余空间大小)所以如果我们自定义view时继承V原创 2017-02-06 19:45:40 · 323 阅读 · 0 评论 -
View的工作原理(二)
测量会用到一。MeasureSpec,它是一个32位的int型整数。它由两部分组成,分别是前三位的SpecMode(MeasureSpec & 0xc000 0000) 和后29位的SpecSize(MeasureSpec &0x3FFF FFFF)组成。之所以把他们合并成MeasureSpec是为了节省存储空间。 SpecMode:,表示测量的模式 有,有三种:publi原创 2017-02-06 15:44:08 · 354 阅读 · 0 评论 -
View的工作原理(一)
Activity被创建以后,DecorView会被添加到Window中,同时会创建ViewRootImpl对象(即ViewRoot)并将ViewRoot和DecorView建立关联。(我认为这个关联指的是一方持有另一方的引用,这样就可以在本对象中对另一方进行处理,不知道是否正确)root =new ViewRootImpl(view.getContext(),display);roo原创 2017-02-06 14:16:17 · 311 阅读 · 0 评论 -
View的事件体系(三)
一,ScollTo(x,y)是将view的内容移动到x,y 而 ScollBy(x,y)是将view的内容b平滑的移动x,yScollBy和ScollTo方法之间的关系:public void srcrollBy(int x,int y){scrollTo(mScrollX + x,mScrollY + y);}mScrollX表示view左边缘和view内容左边缘在水平方向上的原创 2017-02-05 22:42:56 · 376 阅读 · 0 评论 -
View的事件体系(二)
一.事件由activity开始传递,activity的dispatchTouchEvent代码如下:public boolean dispatchTouchEvent(MotionEvent ev){ if(ev.getAction() == MotionEvent.Action_Down){ onUserInteraction(); } if(getWindow().s原创 2017-02-05 21:57:29 · 282 阅读 · 0 评论 -
android Rect
Rect类内有四个int型成员变量,分别为left,tope, right,bottom 可以理解为一个矩形的左上坐标的X,Y轴坐标值,右下坐标的X,Y轴坐标值 这四个值确定后可以明确或说代表一个矩形范围。该类有以下常用方法: 1.用以得到该矩形的宽高,中点坐标 2.判断与其它点,矩形的位置关系(是否相等,...原创 2019-01-09 15:23:32 · 1540 阅读 · 0 评论