- 博客(11)
- 收藏
- 关注
原创 构建一个简易的线程调度工具(三)工具类编写
使用方法也非常简单,只需要先获取单例(SimpleDispatcher.getInstance())然后调用launch方法,就可以通过设置Mode指定一个Runnable运行在哪一个线程环境。其中在IO线程执行代码通常是用线程池实现。2.在当前线程执行一段代码;在任何一个线程环境下(如主线程或子线程)1.在主线程执行一段代码;这样就可以静态的调用launch方法了。3.在IO线程执行一段代码;为了简化调用,也可以将代码如此简化。
2024-01-30 14:08:32
375
1
原创 构建一个简易的线程调度工具(一)基础知识
本篇文章描述了安卓的异步通信机制的实现,在下一篇文章将继续讲解Handler在安卓异步通信框架中的应用。
2024-01-30 11:22:32
939
1
原创 文本输入自动校验工具(二) 焦点自动释放
里的,mListenerInfo保存了几乎所有常用的监听器(如点击监听器(OnClickListener)、布局变化监听器(OnLayoutChangeListener)、聚焦变化监听器(OnFocusChangeListener)),同样也包括触摸监听器。上一个版本的焦点自动释放工具有一个明显的缺陷:那就是在初始化时为每一个布局都设置了一个新的OnTouchListener,这样会覆盖掉用户或其他框架设置的OnTouchListener,为了不影响原先的触摸逻辑,需要对初始化方法进行优化。
2024-01-25 17:54:31
433
原创 文本输入自动校验工具(一) 输入框焦点管理
在开发过程中经常需要写一个页面让用户填写一些信息,需要用到大量的文本框(EditText或TextInputEditText),点击文本框后光标会聚焦在此文本框中,光标不会因为用户点击此文本框以外的区域而自动释放,这对用户而言不太方便。如何在用户点击文本框以外的区域,自动释放文本框的聚焦呢?可以写一个小工具来实现。使用EditFocusHelper来管理文本框的焦点。比如写一个页面用来保存用户的信息。
2023-12-17 13:25:41
484
1
原创 【安卓】渐入式文本控件GraduallyTextView
最近项目需要一个逐字展示的文本控件,由于没有找到适合的,便随手写了一个,不废话直接上代码。import android.animation.ObjectAnimator;import android.animation.ValueAnimator;import android.annotation.SuppressLint;import android.content.Context;import android.util.AttributeSet;import android...
2022-05-31 15:02:18
203
原创 安卓仿Toasty消息弹框
Toast是安卓非常常用的消息弹框之一,但是原生的弹框过于朴素,无法适应不同场景的样式需求,因此设计一个类似于Toasty的弹框构建工具。不废话直接上代码import android.content.Context;import android.os.Looper;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.Lin.
2022-05-10 09:34:14
441
原创 JZ6 从尾到头打印链表
描述输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)。如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]0 <= 链表长度 <= 10000示例1输入:{1,2,3}复制返回值:[3,2,1]代码public class JZ6 { /** * public class ListNode { * int val; * Li
2022-02-15 13:37:14
124
原创 列表转数组
平台:java说明:无依赖:完全内部源码:public static String[] convertLS2As(List<String> stringList){ String[] arrayValue = new String[stringList.size()]; for(int i=0;i<stringList.size();i++){ arrayValue[i] = stringList.get(i); }
2021-11-16 08:44:42
657
原创 安卓弹框构造器 b1.0
平台:安卓说明:依赖:完全内部源码:public class DialogBuilder { private Context context; private Map<Integer,String> textPair; private final View layout; private final BaseDialog baseDialog; public DialogBuilder(Context context,
2021-10-28 15:51:17
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人