随笔分类 - Android开发艺术探索
摘要:android 程序中禁止屏幕旋转和重启Activity
阅读全文
摘要:一、Drawable的分类及使用 复习知识:①、Drawable有几种类别。 ②、在哪里利用xml创建Drawable ③、类中各个类别如何使用 ④、Drawable的插值器和设置时常、是否保持动画后的状态的属性 ⑤、利用xml的方式将Drawable添加给指定控件 ⑥、在java中 从控件中获取装
阅读全文
摘要:一、为什么需要IPC机制 当我们开启多个进程的时候,我们有时需要和各个进程进行交互。但是进程间的交互就不能够共享对象(就是进程A中创建了一个对象,进程B中的类或者方法不能够直接使用,需要用到IPC机制),不能共享是规定,一个对象只能被一个进程使用。 问:那么为什么需要多进程呢? Android下的多
阅读全文
摘要:问题:当我添加两个TextView的时候,然后滑动,发现只生成了一个TextView。 就是 <?xml version="1.0" encoding="utf-8"?> <com.maikefengchao.viewcompflict.HorzonScrollLinearLayout xmlns:
阅读全文
摘要:一、之前分析的滑动冲突,并没有讲述event事件是如何分发到不同的控件 View的滑动冲突 现在分析一下滑动冲突event事件的流向 假设: 我们的一个事件为 点下——>左滑动一次——>松手 这三个为该事件的子事件 点下: 当点击屏幕的时候,点击事件会从Activity层 经过 Window 到 D
阅读全文
摘要:(一)关于<intent-filter>中的<data> 当设置<data>过滤器的时候,使用intent的时候必须要设置响应的匹配,否则无法匹配成功。不过不设置则可以进行匹配 (二)关于Android启动模式 当复用栈中的Activity的时候,会调用onNewIntent()->onResume
阅读全文
摘要:恢复内容开始 一、Android线程的形态 (一)AsyncTask解析 AysncTask简介:①、实现上封装了Thread和Handler ②、不适合进行特别耗时的后台任务 AysncTask使用:android AsyncTask 的使用(转载) AysncTask的使用限制:①、AysnTa
阅读全文
摘要:一、简介 ①、我们不能在子线程中去访问UI空控件,这是时候只能通过Handler将更新UI的操作放到主线程中去执行 ②、Handler的组成:messageQueue和Looper的支持 ③、MessageQueue:作用:存储了一组消息,以队列的形式对外提供插入和删除的工作。实际上是运用单链表的数
阅读全文
摘要:一、Activity的工作过程 从startActivity方法开始分析: ①、StartActivity有好几种重载方法,但是最终调用startActivityResult()方法 ②、startActivityForResult()方法(P319 ①): 因为看的是启动过程,所以只要看mPare
阅读全文
摘要:一、Window简介 作用:桌面上显示一个类似悬浮的东西。 介绍:Window是一个抽象类,实现是由PhoneWindow。WindowManager是外界访问Window的入口。但是最终实现是在WindowService中。WindowManger和WindowService是IPC交互。Ando
阅读全文
摘要:一、AnimationDrawable的使用 详见:Drawable类及XMLDrawable的使用 补充:通过Animation的setAnimationListener()可以给View动画添加监听过程 二、自定义View动画(略,以后有空补上) 三、帧动画 定义:顺序播放一组预先定义好的图片。
阅读全文
摘要:一、创建内部类 public class Test { //第一个内部类 class Destination{ private int i = 11; public int value(){return i;} } //第二个内部类 class Parcel{ private String labe
阅读全文
摘要:1.获取Drawable的内部宽\高:getIntrinsicHeight/Width。但是并不是所有Drawable都有内部宽高(比如说一个颜色形成的宽高,Drawable的宽高不等于大小,大小是根据VIew的大小而定的) 2.BitmapDrawable 作用:引用原始图片,但是附加各种渲染属性
阅读全文
摘要:1.RemoteViews的构造方法public RemoteViews(String packageName,int layoutId) 第一个表示当前应用的包名(反射机制需要),第二个表示加载的布局文件。 注:RemoteViews不能支持所有View类型。就像下表没有EditTextView,
阅读全文
摘要:项目:具有圆形效果的自定义View 一、继承View并重写onDraw方法 public class CircleView extends View{ private static final int COLOR = Color.RED; private Paint mPaint = new Pai
阅读全文
摘要:1、当View的measure被确定后,会调用ViewGroup的layout方法,之后使用onLayout方法(同样也是系统未自动重写,要我们自己完成)遍历子View(根Measure的形式是一样得)与Measure不同的时候,允许重写layout()方法。 分析layout源码:(P194 ①)
阅读全文
摘要:一、认识ViewRoot和DecorView 当Activity对象被创建的时候,会将DecorView添加到Window中,同时创建ViewRootImpl对象(ViewRoot对应于ViewRootImpl类),两者互相建立关系。 通过ViewRoot调用performTranversals开始
阅读全文
摘要:一、常见的滑动冲突 场景1:外部滑动和内部滑动不一致 场景2:外部滑动和内部滑动一致 场景3:上面两种情况的嵌套 二、滑动冲突的处理方法 场景一:根据水平滑动还是竖直滑动判断到底由谁来拦截事件。 场景二:从业务上找突破点,比如内部为ListView,点在ListView内部的时候让ListView滑
阅读全文
摘要:一、点击事件的传递规则 传递事件的主要方法: public boolean dispatchTouchEvent(MotionEvent ev) 如果事件能够传递到当前View,则该方法一定会被调用。 返回值:表示该View是否接收该事件,结果受当前onTouchEvent和下级View的dispa
阅读全文
摘要:一、View的位置参数(都是相对于父容器的位置) 1.View的位置由左上角点、右下角点来确定的。分别对应(左上的X—getLeft,左上的Y—getTop,右下的X—getRight,右下的Y—getBottom)。 2.View的偏移量(translation):表示左上角相对于父容器的偏移量(
阅读全文
浙公网安备 33010602011771号