a.Android 简介
安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由安迪·鲁宾开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机、智能手表等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
2022年5月12日,谷歌举办I/O 2022开发者大会,并正式发布Android 13。
b. 增加选择屏幕密度
在Android 10.0产品开发中,经常遇见客户要求在Settings中增加一个菜单去调整屏幕密度
注:
屏幕密度其实是像素密度的另外一种表示,是以160dpi=1.0为基准的。手机出厂之后屏幕密度,包括X,Y轴方向的像素密度都是固定值。
android以像素密度160dpi为基准对屏幕进行划分,当像素密度为160dpi时屏幕密度为1.0,像素密度为120dpi时屏幕密度为0.75,像素密度为320dpi时屏幕密度为2.0。
android将实际的屏幕密度划分为low、medium、high、and extra high、extra extra high。
获取密度代码
DisplayMetrics dm = new DisplayMetrics(); dm = getResources().getDisplayMetrics(); float X = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0) int Y = dm.densityDpi; // 像素密度(每寸像素:120/160/240/320)
通过翻阅文章查找发现增加选择屏幕密度选择相关核心代码是这个:
packages\apps\Settings\res\values\arrays.xml packages/apps/Settings/res/xml/display_settings.xml packages/apps/Settings/src/com/android/settings/DisplaySettings.java