![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android基础
FeiMinds
贪财好色,有所不为。
展开
-
listview自带的单选和多选
1、ListView本身带有单选和多选功能,也就是说在单选模式下,它能够记住当前选中的唯一的列表项;在多选模式下,它能够记住目前选取的所有的列表项。 2、这种选择模式共有4种CHOICE_MODE_NONE,CHOICE_MODE_SINGLE,CHOICE_MODE_MULTIPLE,CHOICE_MODE_MULTIPLE_MODAL。 3、CHOICE_MODE_NONE,这是ListV原创 2016-09-28 12:48:24 · 1140 阅读 · 0 评论 -
关于Handler的post方法和send方法的区别解释
先看源码 /** * Causes the Runnable r to be added to the message queue. * The runnable will be run on the thread to which this handler is * attached. * * @param r The Run...原创 2018-09-19 16:34:49 · 882 阅读 · 0 评论 -
关于HandlerThread
解释 HandlerThread用于处理需要耗时的操作。 比如,我现在有一个按钮,我点击一下,发送一个指令给子线程的handler,子线程的handler接收到指令后,执行下载图片的耗时操作。此时,用HandlerThread就比较合适。 上代码 代码源于网络 ...原创 2018-09-19 17:06:21 · 146 阅读 · 0 评论 -
IntentService(转)
原文在这里 IntentService,可以看做是Service和HandlerThread的结合体,在完成了使命之后会自动停止,适合需要在工作线程处理UI无关任务的场景。 IntentService 是继承自 Service 并处理异步请求的一个类,在 IntentService 内有一个工作线程来处理耗时操作。 当任务执行完后,IntentService 会自动停止,不需要我们去手动...原创 2018-09-19 17:37:17 · 161 阅读 · 0 评论 -
Handler知识点总结
Handler必须在主线程中实例化吗? 不是必须的。如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的Looper。 1、如果你要刷新UI。 要么在主线程下 Handler handler = new Handler(); 要么在非主线程下 Handler handler = new Handler(Looper.getM...原创 2018-09-26 11:07:19 · 195 阅读 · 0 评论 -
ondraw() 和 dispatchdraw() 的区别
绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现 绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法。有点注意的是背景drawable的实际大小会影响vi...原创 2018-11-20 16:18:05 · 384 阅读 · 0 评论 -
轻松自定义拖拽控件 —— ViewDragHelper的学习笔记
简介 ViewDragHelper是什么?顾名思义,就是拖拽控件的一个帮助类。通过这个帮助类,我们可以轻松实现一些拖动效果。 基本使用 public class MyLinearLayout extends LinearLayout { private ViewDragHelper dragHelper; public MyLinearLayout(Context c...原创 2018-11-29 17:27:22 · 615 阅读 · 0 评论 -
Android 基于Message的进程间通信
实例在最后,先简析原理。 1、服务端重要代码解析 @Nullable @Override public IBinder onBind(Intent intent) { return mMessenger.getBinder(); } getBinder里面是这样的 public IBinder getBinder() { return mTarget.asBinder(...原创 2019-01-28 18:44:54 · 250 阅读 · 0 评论 -
Android可拖拽移动控件,不会回到初始位置
发现问题: 最近项目里有拖拽控件的需求,但是发现移动后还是会回到原点,这是由于父控件的刷新导致的。 解决问题: package com.example.dragview; import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import an...原创 2019-05-13 15:12:59 · 2073 阅读 · 0 评论