4 chenkaisq

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 19w+

Android中自定义view

文章目录1.继承系统控件的自定义view2.继承View的自定义view3.继承ViewGroup的自定义view源码地址1.继承系统控件的自定义view在这里以TextView为例,自定义一个斜划线的TextView,效果如图这个比较简单,主要是重写onDraw()方法,直接上代码了package com.test.ck.customview;import android.con...

2019-04-18 18:30:00

继承ViewGroup的自定义view

文章目录1.效果和自定义view的完整代码2.对wrap_content属性的处理3.onLayout处理4.弹性滑动和快速滑动1.效果和自定义view的完整代码这里写一个水平滑动自定义view,效果如图先给个完整的自定义MyCustomViewGroup代码,然后在一步步分析package com.test.ck.customview;import android.content....

2019-04-18 18:28:40

Android中view的工作流程

由于篇幅太大,所以本章拆分为4篇,下面是文章链接MeasureSpecview的measure流程view的layout流程view的draw流程

2019-04-15 18:06:49

View的draw流程

View的draw流程先看下view的draw()方法(ViewGroup并没有重写draw方法) public void draw(Canvas canvas) { final int privateFlags = mPrivateFlags; final boolean dirtyOpaque = (privateFlags & PFLAG_DIR...

2019-04-15 18:03:14

View的layout流程

View的layout流程layout()方法的作用是确定元素的位置。ViewGroup中的layout方法用来确定子元素的位置,View中的layout方法则用来确定自身的位置.先看下view的layout方法(ViewGroup里的layout方法也调用了View中的layout方法) public void layout(int l, int t, int r, int b) {...

2019-04-15 18:02:33

view的measure流程

文章目录view的measure流程1.View的measure流程2.ViewGroup的measure流程view的measure流程1.View的measure流程view的measure流程实在onMeasure()方法完成的,源码如下: protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)...

2019-04-15 18:01:09

理解MeasureSpec

文章目录MeasureSpec1.概述2.MeasureSpec的3种模式MeasureSpec1.概述MeasureSpec是View的内部类,它封装了view的高和宽的信息,其作用是在measure流程中,将View的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,其源码如下: public static class MeasureSpec { ...

2019-04-15 17:59:21

Android中的事件分发机制的源码解析

文章目录1.Activity的分发机制2.ViewGroup的分发机制1.Activity的分发机制activity中主要涉及dispatchTouchEvent和onTouchEvent2个方法.dispatchTouchEvent /** * Called to process touch screen events. You can override this to ...

2019-04-02 16:10:31

Android中的属性动画

1.ObjectAnimator类常用的属性值:(ObjectAnimator是继承ValueAnimator的)• translationX和translationY:用来沿着X轴或者Y轴进行平移。• rotation、rotationX、rotationY:用来围绕View的支点进行旋转。• PrivotX和PrivotY:控制View对象的支点位置,围绕这个支点进行旋转和缩放变换处理...

2019-03-29 15:54:16

Android进阶之路读书笔记-Scroller解析

(此文接续 view滑动的方法 一文)Scroller的构造方法: public Scroller(Context context) { this(context, null); } /** * Create a Scroller with the specified interpolator. If the interpolator is ...

2019-03-22 17:04:02

Android进阶之路读书笔记-view滑动的方法

view滑动的6种方法layout(), offsetLeftAndRight()与offsetTopAndBottom(), LayoutParams, 动画, scollTo 与 scollBy以及Scroller。layout()自定义view/** * Created by ck on 2019/3/21. */public class MyCustomView exte...

2019-03-22 17:03:43

Android进阶之路读书笔记-Android坐标系和view坐标系

1.Android坐标系• getRawX():获取点击事件距离整个屏幕左边的距离,即绝对坐标。• getRawY():获取点击事件距离整个屏幕顶边的距离,即绝对坐标。2.view坐标系View自身的坐标• getTop():获取View自身顶边到其父布局顶边的距离。• getLeft():获取View自身左边到其父布局左边的距离。• getRight():获取View自身右...

2019-03-21 11:24:03

CoordinatorLayout+自定义Behavior

1.CoordinatorLayoutCoordinatorLayout is a super-powered FrameLayout,即CoordinatorLayout 是一个超级强大的FrameLayout,它的作用是通过Behavior 协调子View 之间的关系2.自定义Behavior自定义Behavior有两种方法:第一种是定义的View监听另一个view的变化(例如大小...

2019-03-20 14:53:45

CoordinatorLayout+AppbarLayout+CollapsingToolbarLayout的使用以及配合使用实现Toolbar的折叠效果

1.CoordinatorLayout

2019-03-20 14:51:22

Android进阶之路读书笔记-Snackbar与TextInputLayout

1.Snackbarsnackbar相对dialog来说,更加轻量级,相对于toast来说,它为用户多提供了一个点击操作.Snackbar显示在屏幕的底部,包含了文字信息与一个可选的操作按 钮,它可以在指定时间结束之后自动消失(ps:Snackbar配合CoordinatorLayout使用可以滑动删除)2.Snackbar小demopackage com.test.ck.snackbar...

2019-03-13 15:16:06

Android进阶之路读书笔记-Android6.0运行权限与Android7.0多窗口模式

1.Dangerous PermissionAndroid6.0之后,对于危险级别的权限,需要向用户动态申请,这些危险级别的权限是以组的形式出现的,同一组的任何一个权限被授权了,其他的也自动被授权2.以拨打电话为例写的一个小demopublic class MainActivity extends AppCompatActivity { @Override protect...

2019-03-12 11:22:16

android进阶之路读书笔记 - android5.0新特性之CardView

1.CardView概念CardView继承自FramLayout,可以设置圆角和阴影,能够使控件更加立体性.2.CardView的基本属性android:cardBackgroundColor 设置背景android:cardCornerRadius 设置圆角app:cardElevation 设置阴影大小app:cardMaxElevation 设置阴影的最大高度app:cont...

2019-03-07 15:16:48

Handler消息机制

andriod提供了Handler 和 Looper 来满足线程间的通信。Handler先进先出原则。Looper类用来管理特定线程内对象之间的消息交换(MessageExchange)。1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的MessageQueue(消息队列)。2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到...

2018-12-21 16:40:03

Handler的内存泄漏解决办法

其实网络上已经有很多关于handler的内存泄漏的讲解和处理了,此处作为自己的笔记记录下.先来一段比较常见的代码package com.jetair.ordercenter.ui.activity;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActiv...

2018-12-18 14:22:55

Android 横向滚动和纵向滚动的TextView

横向滚动TextViewTextView的横向滚动,本身自带的跑马灯效果+自定义一个简单的TextView即可实现. 自定义view代码如下:public class HorizontalTextview extends TextView { public HorizontalTextview(Context context) { super(context);...

2018-07-20 15:20:35

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。