
Android
文章平均质量分 55
康阿朋
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android常用APP夜间模式对比
在Android夜间模式原理一文中分析了Android实现夜间模式的原理,而且我们知道无论哪种实现方案都不是很完美。作为程序员我希望既能实夜间模式的平滑切换,又不用写那么多代码。所以我们可以看一下市面上用户量比较大的APP是如何实现夜间模式切换的,以便参考。当然我们看不到源码,只能从效果上去分析。下面我们一次分析:微信、QQ、微博、头条、百度、QQ浏览器、华为手机浏览器、京东这几个APP。微信:微信可以设置深色模式跟随系统,或者手动更改,当手动更改时需要重启APP才能生效,这样的话直接从根源原创 2021-03-08 21:05:22 · 2977 阅读 · 0 评论 -
Android夜间模式原理
先看一个设置夜间模式的demo。首先看MainActivity的代码:public class MainActivity extends Activity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layo原创 2021-03-06 21:31:48 · 1658 阅读 · 0 评论 -
EventBus源码追踪
有过Android开发经验的人相信对EventBus应该都有所了解,EventBus是一个开源库,它使用观察者模式对模块间的通信进行解藕。下面是一个Android中使用EventBus的实例,相信大家都不陌生:class MainActivity : AppCompatActivity() { private val TAG = "MainActivity" overr...原创 2020-04-28 16:02:03 · 180 阅读 · 1 评论 -
你真的懂Android Handler吗?(三)
在你真的懂Android Handler吗?(一)和你真的懂Android Handler吗?(二)两篇文章中我们了解了Handler是如何跟线程绑定的,也知道了Handler中消息传递的机制是通过无限for循环。但是我们还遗留了一些问题,比如MessageQueue中的数据结构是怎样的?是一个先进先出的队列吗?在主线程中使用了无限for循环为什么没有引起ANR呢?这些问题需要我们通过分析Mess...原创 2020-04-26 16:42:17 · 170 阅读 · 0 评论 -
你真的懂Android Handler吗?(二)
二原创 2020-04-25 11:39:50 · 898 阅读 · 0 评论 -
你真的懂Android Handler吗?(一)
你真的懂Android的Handler机制吗?在回答这个问题之前先问自己几个问题:1、Hander时如何跟线程绑定的?2、Handler中的消息是怎么传递的?是通过回调还是通过循环?3、如果是通过循环传递的,那么为什么没有引起ANR?是不是在非UI线程中进行的无限循环?4、如果是在非UI线程中进行的无限循环,那么在UI线程发送消息并且在UI线程中处理消息时是否进行了线程切换?这样做...原创 2020-04-20 13:14:27 · 247 阅读 · 0 评论 -
崩溃记录:android.os.DeadSystemException
记录一个系统崩溃,如下图所示,这个崩溃全部出现在三星手机,而且操作系统版本为10,而且都是退到后台之后报的,我猜想应该是应用崩溃导致进程被杀了,然后再进行后续操作是出错了。具体原因还没找到。...原创 2020-02-08 20:50:22 · 15744 阅读 · 12 评论 -
使用Okio优化IO
仅以此文记录个人学习Okio的过程。先看先Okio的官方文档,这是Okio的github地址:https://github.com/square/okio官方的解释是这样的:Okio是一个库,是对java.io和java.nio的补充,通过这个库,我们可以更简单的使用和存储我们的数据。Okio提供了两种新的类型,这两种类型有很多新的功能,并且使用比较简单。这两中类型分别是:ByteString和B...原创 2018-04-26 11:08:28 · 2676 阅读 · 0 评论 -
TextView setCompoundDrawables不显示
记录一个bug:执行代码:Drawable openIcon = context.getResources().getDrawable(R.drawable.drip_mail_opened);holder.timeTv.setCompoundDrawables(openIcon, null, null, null);Icon不显示;修改如下:Drawable o原创 2017-01-17 18:57:12 · 707 阅读 · 0 评论 -
EditText单行显示
结论:要控制EditText单行显示需要同时设置android:singleLine="true"和android:maxLines="1";问题源:今天遇到一个bug,应用中使用了EditText并设置了android:maxLines="1",但是给该EditText赋值事发现他还是多行显示,于是又设置了android:singleLine="true",问题解决了。可是为什么呢?原创 2017-01-17 14:40:59 · 14001 阅读 · 1 评论 -
Android TextView 实现一个单词分两行显示
今天遇到一个需求,TextView实现自动换行时一个英文单词能够换行显示,使布局整齐。通过网上查询,确定实现逻辑如下:自定义TextView,重写其onMeasure方法,在测量textView的宽高时重新拆分字符串,实现单个单词换行显示,以下是自定义TextView的源码(基本复制博客:http://www.cnblogs.com/snser/p/5159125.html中的源码):pack原创 2017-01-16 11:54:33 · 11882 阅读 · 2 评论 -
Exception记录:com.android.ide.common.process.ProcessException
AndroidStudio编译错误:Error:Execution failed for task ':estateAndroid:processDebugResources'.> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'co原创 2016-11-22 16:50:38 · 406 阅读 · 0 评论