如你所知在Anroid N 中,系统添加了多个级别的密度值供用户选择。

系统的默认的值就是 ro.sf.lcd_density

同时其他级别的默认值的大小基础也是以默认值为基础,然后乘以不同的比例得到。

例如下:

http://androidxref.com/7.1.1_r6/xref/frameworks/base/packages/SettingsLib/src/com/android/settingslib/display/DisplayDensityUtils.java

141 if (numLarger > 0) {

142 final float interval = (maxScale - 1) / numLarger;

143 for (int i = 0; i < numLarger; i++) {

144 // Round down to a multiple of 2 by truncating the low bit.

145 final int density = ((int) (defaultDensity * (1 + (i + 1) * interval))) & ~1;

146 if (currentDensity == density) {

147 currentDensityIndex = curIndex;

148 }

149 values[curIndex] = density;

150 entries[curIndex] = res.getString(SUMMARIES_LARGER[i]);

151 curIndex++;

152 }

153 }

以上代码是计算高于默认级别的各个密度的大小。

当然如何当前的密度等于某一个级别的密度值,那么就记录下对应的索引值。

Android 修改系统默认density的更多相关文章

  1. android 修改系统的dialog样式

    android 修改系统的dialog样式 一.觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧. 如果是在XML中样式:首先来说下样式.  在 Style.x ...

  2. RK3399 修改系统默认语言为简体中文

    CPU:RK3288 系统:Android 7.1 修改系统默认语言为简体中文 diff --git a/build/target/product/full_base.mk b/build/targe ...

  3. android5.1修改系统默认音量

    在做定制需求的时候,需要修改系统通知的声音,将其禁用掉,避免第三方应用发送通知时,声音很大,吓着用户.索性就把通知声音关掉.下面就说说关闭声音的几种方法,以及修改系统默认声音的方法. 1. 直接修改系 ...

  4. 使用storyboard显示UITableView时,如果不修改系统默认生成的tableView:cellForRowAtIndexPath:方法中的代码,则必须为UITableViewCell注册(填写)重用标识符:identifier.必须要代码方法中的标识符一致.

    CHENYILONG Blog 使用storyboard显示UITableView时,如果不修改系统默认生成的tableView:cellForRowAtIndexPath:方法中的代码,则必须为UI ...

  5. linux上修改系统默认语言设置

    locale命令设置语言环境(临时修改) [keysystem@localhost ~]$ date Fri Feb :: CST [keysystem@localhost ~]$ locale LA ...

  6. Mac查看与修改系统默认shell

    Mac查看与修改系统默认shell 查看所有shell cat /etc/shells 输出: # List of acceptable shells for chpass(1). # Ftpd wi ...

  7. centos7/centos6修改系统默认语言

    应用环境: 一直在使用centos7.x,系统默认的语言也是英文环境,工作内容偶遇中文,顺便搜罗修改一番,小记如下. 测试环境: 测试步骤: CentOS 7.x 1. 查看当前语言环境 [root@ ...

  8. android修改系统时区

     动态注册广播接收器必须有实例存在 静态不要实例存在   设置系统时区: AlarmManager mAlarmManager = (AlarmManager)getSystemService(Con ...

  9. ADB命令后台修改系统默认输入法

    今天要研究uiautomator如何输入中文,看网上有一种常用的解决办法:http://www.cnblogs.com/yajing-zh/p/5125387.html在这篇博客最后提出来的问题,也是 ...

随机推荐

  1. java之静态方法,静态变量

    在自动化测试中,经常会用到静态方法和静态变量.那么什么是静态方法和静态变量呢?以及在什么情况下使用呢?下面来说一说 静态方法和静态变量是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象 ...

  2. CRegKey 注册表操作 转

    转自 http://blog.csdn.net/pbymw8iwm/article/details/6931946 1.简介 CRegKey提供了对系统注册表的操作方法,通过CRegKey类,可以方便 ...

  3. Non-Nullable Types vs C#: Fixing the Billion Dollar Mistake (转载)

    One of the top suggestions (currently #15 on uservoice) for improving C# is the addition of non-null ...

  4. c# 关闭socket的标准方法

    aSocket.Shutdown(SocketShutdown.Both); aSocket.Close(); c#关闭socket时,单独使用socket.close()通常会造成资源提前被释放,应 ...

  5. hadoop-1.2.1分布式配置启动问题

    关键配置(core-site.xml 和hdfs-site.xml)(这里只是针对与HDFS,没有启动MapReduce): core-site.xml <?xml version=" ...

  6. Xcode打开playground运行很慢或者无法输出的解决办法

    学习Swift最快捷的方法就是创建playground,但有时后运行很慢或者一直显示Running,无法输出. 解决办法 关闭Xcode 在终端里执行2段代码 rm -rf ~/Library/Dev ...

  7. ubuntu 18.04可以连接内网,无法连接外网

    手动增加网关后,又重新sudo apt-get upgrade,  提示/etc/resolvconf/resolv.conf.d更新时,选Y后,不用手动修改网关也可以连接外网了. 一切默认更新后,1 ...

  8. javascript 时间倒计时效果

    <div id="divdown1"></div> <script language="javascript" type=&quo ...

  9. MySQL---视图、触发器

    一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. SELECT * FROM ( S ...

  10. openstack之kvm常用操作

    KVM虚拟机的管理主要是通过virsh命令对虚拟机进行管理. 1.   查看KVM虚拟机配置文件及运行状态 KVM虚拟机默认配置文件位置: /etc/libvirt/qemu/ autostart目录 ...