在开发过程中总是会遇到只用px做标注的UI,遇到这样的情况并不是没有办法,什么能够阻止程序员? 我们可以在自己的设备上运行下面的代码,于是UI给的px到底是多少dp或sp便一目了然了。 首先是dp转为px public …
分类:Android
HandlerThread源码分析
概要介绍 HandlerThread是一种特殊的Thread,也就是有Looper的thread,既然有Looper的话,那我们就可以用此Looper来创建一个Handler,从而实现和它的交互。比如你可以通过与它关联的…
Android开发者e周报 第2期
【历史记录】 Android开发者e周报 第1期 News 1、万众瞩目Instant Apps终于全面问世啦 2、2017年2季度:Android智能机在美份额持续领先iOS 3、Android 测试支持库 1.0 版…
子线程调用Toast报Can't create handler inside thread that has not called Looper.prepare()
在调用Toast(或者AlertDialog)的地方的前面加上Looper.prepare(),后边加上Looper.loop()即可解决问题; 也就是说用Looper.prepare()和Looper.loop()把T…
Flutter教程(一)Flutter概览
Flutter官网点击访问 Flutter教程(一)Flutter概览 Flutter教程(二)Flutter安装及运行 Flutter如何引用第三方库并使用 作为2018世界移动大会的内容之一,Google发布了Flu…
ArrayList和LinkedList的区别
1.ArrayList是基于数组的数据结构,LinkedList是基于链表的数据结构。 ArrayList的构造方法中可以看出它是基于数组实现的。 /** * Constructs an empty list with …
Android:在活动中使用 Menu
Android提供一种隐藏式的菜单栏,不占用显示空间又能实现菜单功能。 一、菜单显示 首先在res目录下创建一个menu目录,在menu目录下新建一个菜单文件(menu resource file)。 在该文件中添加菜单…
彻底搞定LayoutInflater
前提回顾 我有篇文章你的自定义View是否真的支持Margin 讲到 子View的margin属性的支持需要在 自定义ViewGroup 通过generateLayoutParams设置,而子View的padding支持…
第6章 类型系统 《Kotin 编程思想·实战》
第6章 类型系统 6.1 编译时类型与运行时类型 6.2 根类型Any 6.2.1 对象相等性 6.3 基本类型(Primitive Types) 6.3.1 Number: 包含整型与浮点型等 6.3.2 Char: …
Java、Android中Math的一些用法
Java.math.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 Math.cos 余弦函数…
View 绘制原理
基本操作由三个函数完成:measure()、layout()、draw(),其内部又分别包含了onMeasure()、onLayout()、onDraw()三个子方法。 measure操作 measure操作主要用于计算…