![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
文章平均质量分 62
Mr大伟哥
这个作者很懒,什么都没留下…
展开
-
Android国际化工具设计开发
最后一天班了!由于种种原因,今年不回家了,准备好好完善一下自己的Android国际化翻译工具,先上一张图:简介在开发过程中我们一般会将产品原型图或设计图上的文字内容(比如中文)写在默认的string.xml中,而后再通过一些手段去翻译生成不通语种的string.xml,如values-fr/string.xml、values-ja/string.xml等。那么该工具就是做这个事的,原理也很简单,就是根据匹配的语种,查找对应的其他语种并转换对应的string.xml,在转换的过程中还可以检测遗漏的翻译原创 2022-01-29 11:32:11 · 2502 阅读 · 1 评论 -
无障碍简单实现Android钉钉自动打卡
如题,既然是简单实现,所以请善待作者,看下配置界面:一句话解释:利用安卓的无障碍功能,通过文字找到组件,然后触发点击事件完事。首页代码:class MainActivity : AppCompatActivity() { private var units = arrayOf<String>() private var unitStr = "秒" private var dateStr = "" private var timeStr = ""原创 2020-12-05 17:34:24 · 3370 阅读 · 3 评论 -
记greendao主键无法自增的问题
因为greendao插入时是判断主键是否是null,是则自增,否则插入,这也是为什么主键@Id的类型要是Long类型的原因,我遇到的问题是我的实体类做了Parcelable序列化操作又因为使用了Long类型,这里就不能用writeLong,否则拆箱的时候会报空指针。查看Long的父类Number实现了Serializable,所以这里使用writeSerializable@Id(autoincrement = true)//设置自增长private Long tid;@Overridepubli原创 2020-12-03 13:44:51 · 741 阅读 · 0 评论 -
Android后台监听全局屏幕旋转
摸摸头~,既然是监听屏幕的旋转方向,那是不是可先去WindowManager类看看,通过对源码的一番撕扯,终于找到了一点蛛丝马迹:public int watchRotation(IRotationWatcher arg0, int arg1) throws RemoteException最终发现屏幕的旋转方向监听是在IWindowManager.aidl文件中处理的,所以我们先看看这个文件:(sdk版本:7.1.1_r28)package android.view;/*** System .原创 2020-12-03 12:55:56 · 3257 阅读 · 1 评论 -
handler是如何处理消息
在Handler机制中,我们知道Handler负责发送和处理Message,那么同一线程的Handler是如何将消息发送给对应的Handler对象去处理的呢?Let’s rtfsc!先看看Handler的使用:class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)原创 2020-05-26 17:25:56 · 426 阅读 · 0 评论 -
Toast源码解析——toast能在子线程中弹出吗
Android人知道在安卓中不能在子线程中更新ui,为什么呢?真的不能吗?先做个试验,我们在子线程中调用toast,看看有什么效果,按照上边一句话的意思,这里应该会报错显示不能再子线程中刷新ui吧val thread = object : Thread() { override fun run() { Toast.makeText(this@MainActivity, "123", Toast.LENGTH_LONG).show() }}thread.start()原创 2020-05-19 17:57:04 · 515 阅读 · 0 评论 -
引入layoutlib.jar
在android studio中引入layoutlib.jardef getLayoutLibPath() { return “${android.getSdkDirectory().getAbsolutePath()}” + “/platforms/” + android.compileSdkVersion + “/data/layoutlib.jar” }android {原创 2016-07-25 20:14:17 · 1414 阅读 · 0 评论