自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 Android的Drawable

Drawable的简介:Drawable表示的是一种可以在Canvas上进行绘制的抽象概念,它的种类有很多,常见的颜色和图片都可以是一个Drawable,非图片类型的Drawable占用空间较小(这对减小apk的大小很有帮助),Drawable常被用来作为 View的背景使用,一般通过XML来定义Drawable是一个抽象类,他是所有Drawable对象的基类,每个具体的Drawable都是它的...

2019-04-13 08:59:14 294

原创 View的工作原理_View的工作流程

View的工作流程:主要是指:measure,layout,draw这3大流程,measure确定View的测量宽高,layout确定View的最终宽高和4个顶点的位置,而draw则是把View绘制在屏幕上1,measure过程measure过程要分 情况来看,如果只是一个原始的View,通过measure方法就完成它的测量,如果是一个ViewGroup,除了完成自己的测量之外还要遍历去调用...

2019-03-29 21:41:23 142

原创 View的工作原理_理解MeasureSpec

MeasureSpec概要:MeasureSpec在很大程度上决定了一个View的尺寸规格,之所以是很大程度上是因为这个过程还要受到父容器的影响.在测量的过程中,系统会将view的LayoutParams根据父容器所施加的规则转换成对应的MeasureSpec,然后在根据这个MeasureSpec来测量出View的宽高(Measure:/'meʒə/)源码MeasureSpec public...

2019-03-27 08:43:34 406

原创 View的工作原理_初识ViewRoot和DecorView

初识ViewRoot和DecorView

2019-03-23 13:28:01 222

原创 View的事件体系_view的滑动冲突解决

所有的view的滑动冲突都可以用如下2种方式来解决:外部拦截法和内部拦截法1.外部拦截法:所谓外部拦截法是指点击事件都先经过父容器的拦截处理,如果父容器需要此事件就拦截,如果不要此事件就不拦截,外部拦截发法需要重写父容器的onInterceptTouchEvent方法,在内部做相应的拦截即可,外代码如下 @Override public boolean onInterceptTouchE...

2019-03-14 22:34:40 159

原创 View的事件体系_View的事件分发机制

点击事件的传递规则:当一个MotionEvent产生后,系统需要把这个事件传递给一个具体的View,而这个过程就是事件的分发过程,这个过程由3个很重要的方法组成,dispatchTouchEvent,onInterceptTouchEvent和onTouchEvent,public boolean dispatchTouchEvent(MotionEvent ev)(ViewGroup里面有的...

2019-03-13 21:40:52 1669

原创 View的事件体系_View的基础知识和滑动

一.View的基础知识View的位置主要是由4个顶点来决定的,分别对应View的4个属性,left,top,right,bottom,其中top是左上角纵坐标,left是左上角横坐标,right是右上角横坐标,bottom是右上角纵坐标,需要注意的是,这些坐标是相对于View的父容器来说的,因此它是一种相对坐标view的坐标和父容器的关系如下图所示获取这4个成员变量的方法如下:Left=...

2019-03-09 20:56:15 108

原创 跨进程通信使用总结(二)_Android中的IPC方式

1,使用BundleAndroid中的4大组件都是支持在Intent中传递Bundle数据的,由于Bundle实现了Parcelable接口,所以它可以方便的在不同的进程间传输2,使用文件共享:读写在同一个地方的文件(例如读取外存储卡上的data.txt文件,前提是要有读写文件的权限)3.使用Messenger(信使)通过信使Messenger可以在不同的进程中传递Message(消息)...

2019-03-05 22:08:20 250

原创 跨进程通信使用总结(一)_跨进程通信基础篇

跨进程通信基础篇含义:跨进程通信,是指两个进程之间数据交换的过程,英文全称 Inter-Process Communication 缩写IPC进程和线程的关系:在移动设备上,一个程序或者一个应用,就是一个进程,一个进程里面可以包含多个线程(例如:一个应用里面有一个主线程(用于更新UI)和多个子线程(执行耗时的任务))开启多线程的方法:在Android中开启多进程只有一种方法: 那就是...

2019-03-03 17:55:01 1933

原创 Error:Must have one-pixel frame that is either transparent or white.

xx.9.png图片的报错,具体的报错信息如下:ERROR: 9-patch image C:…\res\drawable\appwidget.9.png malformed.Frame pixels must be either solid or transparent (not intermediate alphas).Found at pixel #3 along top edge. ...

2019-02-20 09:46:11 717

原创 万能圆角

前言:我们项目当中经常碰到要对某个图片控件做成圆角,或者动态改变它的圆角率,一般的做法如下 /** * 获得圆角图片 * @param bitmap * @param roundPx * @return * Bitmap.createBitmap 很容易出现oom,尽量不要使用 */ public static Bitmap ...

2019-02-19 22:52:39 3079

原创 adapter has changed but ListView did not receive a notification

完整的异常信息如下:The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thre...

2019-01-26 01:19:26 3313

原创 notifyDataSetChanged刷新不起作用的问题解决

notifyDataSetChanged是Adater的一个方法,主要用来通知ListView,告诉它Adapter的数据发生了变化,ListView需要更新它的界面显示public class DataSetObservable extends Observable<DataSetObserver> { public void notifyChanged() { ...

2019-01-24 12:45:42 6441 3

原创 从app或web链接打开另一个app

总共有3中情况一,从App A跳转到App B示例1:Android 从一个 APP A跳转到另一个 APP B主界面App A开启跳转的代码如下 Intent intent = new Intent(Intent.ACTION_MAIN); //前提:知道要跳转应用的包名、类名 ComponentName componentName = new Componen...

2019-01-23 23:55:45 3485

原创 Activity的使用总结 (二)--Action、Category、Data匹配规则

Android隐示启动的Action、Category、Data匹配规则1.定义:Action:定义匹配动作,属性值为一个字符串,Intent中必须携带有action,系统预定义了一些action,但是我们也可以在应用中定义自己的action.Category:用于指定当前动作(Action)被执行的环境,属性值也是一个字符串,系统也预定义了一些Category,我们也可以自定义.过...

2019-01-09 09:56:55 3858 2

原创 Activity的使用总结 (一)

Activity的使用总结 (一)正常情况下的生命周期:A界面开启B界面所走的方法: A onPause–> B onCreate–> B onStart–> B onResume–>A onstop 旧activity先onPause,然后新activity再启动onPa

2018-12-13 09:54:36 749 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除