-
你知道android的MessageQueue.IdleHandler吗?
干货!干货!或许可以是一种处理问题的新思路哟!前言我们知道android是基于Looper消息循环的系统,我们通过Handler向Looper包含的MessageQueue投递Message, 不过我们常见的用法是这样吧? 一般我们比较少接触MessageQueue, 其实它内部的IdleHandler接口有很多有趣的用法,首先看看它的定义: 简而言之,...2017-11-26 阅读290
-
刚刚有个群友问我,为什么我的子线程更新了 UI 没报错?借此,纠正一些Android 程序员的一个知识误区
开门见山:这个误区是:子线程不能更新 UI ,其应该分类讨论,而不是绝对的。半小时前,我的 XRecyclerView 群里面,一位群友私聊我,问题是:为什么我的子线程更新了 UI 没报错?我叫他发下代码我看,如下,十分简单的代码。@Override protected void onCreate(Bundle savedInstanceState)...2017-11-26 阅读286
-
AndroidStudio(3.x版本)的输入法之坑
本文记录一下,我从AndroidStudio 2.3.3升级到3.0,再升级到3.0.1一路上遇到的输入法之坑以及解决方案。前些天把AndroidStudio从2.3.3升级到3.0,遇到了不少坑,其中一个巨坑就是输入中文不提示的问题。面对这个bug表示真的好捉鸡啊,所幸借助Google大法在CSDN上搜到一位老哥提供的解决方案。看了相关...2017-11-26 阅读268
-
换种思路实现RecyclerView嵌套RecyclerView(购物车)复杂效果
其实在实际开发中,难免会遇到一些类似于需要listview嵌套listview或者RecyclerView嵌套RecyclerView的界面需要实现。作为开发人员的我们,当然希望这种需求越少越好,但是如果偏偏就是有这种需求,用哪一种方式去实现比较好呢?首先看一个很变态的界面效果图,估计很多人看到这个界面的第一眼就是懵逼的,这尼玛什么玩意?...2017-11-25 阅读270
-
惊艳-腾讯QQ的Tab按钮动画效果完美实现
最近在用QQ的时候发现了一个有意思的小细节,如图所示:可以看到Tab按钮都有一个随着用户拖动而转动的特效,一开始被这个效果惊艳到了,QQ还是很细致的,注重细节和用户体验。于是利用空闲时间实现了这个效果,所有代码均用kotlin实现,项目效果如图所示:哈哈是不是一模一样呢,完整的实现代码并不长,只有200多行,但是...2017-11-25 阅读288
-
Android源码分析之简单版ImageLoader框架
1 介绍 花了2周的晚上和周末,学习了MrSimp1e老师的教你写Android ImageLoader框架,能够在一个稍微简单但功能齐全的框架基础上,深入了解实现的同时学到知识,也能够体会到在设计一个开源库时应该要做哪些考虑、做哪些取舍、有什么模式,了解一些开源库的设计基本原则。当然在了解了ImageLoader的实现之后再去使用...2017-11-25 阅读268
-
金融类自定义View--股票分时图
金融类自定义View–股票分时图本节主要介绍股票分时图的详细实现思路与遇到的各种问题。该分时图主要包括以下功能:数据的适配、x/y背景轴的绘制、x/轴文字的绘制、长按十字的处理、实时折线的处理、分时折线的左右滑动等。主要会陈述的问题:如何实现最新数据横线的实现、实时数据导致折线的变化的实现思路、折线图左右滑...2017-11-25 阅读250
-
一个小需求引发的思考
在平时开发过程中难免为了赶进度或者在比较短的时间里写一个功能,我们一般都简单粗暴的以解决问题为目的,我想对于这样的代码,而后再细细思考才是,没准会有新的发现,今天我就遇到了这么一个小需求。需求如下:如下图,有两个输入框,一个按钮,需求是当两个EditText都输入内容的时候,按钮才能亮起。image.png当时快下...2017-11-25 阅读270
-
深入理解LayoutInflater.inflate()
原文链接:https://www.bignerdranch.com/blog/understanding-androids-layoutinflater-inflate/由于我们很容易习惯公式化的预置代码,有时我们会忽略很优雅的细节。LayoutInflater以及它在Fragment的onCreateView()中填充View的方式带给我的就是这样的感受。这个类用于将XML文件转换成相对应的ViewGroup和控件...2017-11-24 阅读265
-
Android 面试(五):探索 Android 的 Handler
这是 面试系列 的第五期。本期我们将来探讨一下 Android 异步消息处理线程 —— Handler。往期内容传递:Android 面试(一):说说 Android 的四种启动模式Android 面试(二):如何理解 Activity 的生命周期Android 面试(三):用广播 BroadcastReceiver 更新 UI 界面真的好吗?Android 面试(...2017-11-24 阅读257