屏幕适配
关键词:
屏幕尺寸:灵活布局、备用布局、可拉伸图片(九宫位图)
像素密度:不受密度制约、备用位图、矢量图形(xml的文件)
目的:
·支持不同的屏幕尺寸
·支持不同的像素密度
支持不同的屏幕尺寸
1-使用“wrap_content”和“match_parent”
2-使用 RelativeLayout
3-使用尺寸限定符
如图:

4-使用最小宽度限定符

5-使用布局别名

6-使用屏幕方向限定符

7-使用九宫格位图

支持不同的像素密度
1-使用密度无关像素
您在设计布局时必须避免的一个常见陷阱是,使用绝对像素来定义距离或尺寸。 使用像素来定义布局尺寸会带来问题,因为不同的屏幕具有不同的像素密度,因此同样数量的像素在不同设备上可能对应于不同的物理尺寸。 因此,在指定尺寸时,请务必使用 dp 或 sp 单位。dp 是一种密度无关像素,对应于 160 dpi 下像素的物理尺寸。 sp 是相同的基本单位,但它会按用户首选的文本尺寸进行缩放(属于缩放无关像素),因此您在定义文本尺寸时应使用此计量单位(但切勿为布局尺寸使用该单位)。
2-提供备用位图

支持刘海屏
--
动画
·Animate bitmaps
·Animate UI visibility and motion
·Animate layout changes(>=4.4 or api19)
·Animate between activities(>=5.0 or api21)
Binder
使用&上层原理
直观来说,binder是android中的一个类,他实现了IBinder接口。
从IPC角度来说,Binder是android中的一种跨进程的通讯方式,binder还可以理解为一种虚拟的物理设备,他的设备驱动是/dev/binder,该通讯方式在Linux中没有;
从android Framework角度来说,binder是serviceManager连接各种manager(activityManager、windowManager,等等)和相应ManagerService的桥梁;
从android应用层来说,binder是客户端和服务端进行通讯的媒介,当bindservice的时候,服务端返回一个包含了服务端调用的binder对象,通过这个binder对象,客户端就可以获取服务端提供的服务或者数据,这里的服务包括普通服务和机遇AIDL的服务。
网友评论