修改Android系统字号(一)
/***********************************************************************
* 修改Android系统字号(一)
* 说明:
* 本来以为直接修改了Settings里面的系统字号就可以了,结果发现字号变
* 大了之后,Lancher中app的名字被截掉了一半,下面一半无法显示,之后又
* 为了解决这个问题,找到AppsCustomize相关配置。
*
* 2016-5-12 深圳 南山平山村 曾剑锋
**********************************************************************/ 一、参考文章:
. android4. 修改默认字体大小
http://blog.csdn.net/yicao821/article/details/8733493
. Android 如何修改系统默认字体大小
http://www.tuicool.com/articles/vi6Fra
. Launcher里面修改应用图标以及应用图标对应的字体大小
http://blog.csdn.net/pishum/article/details/20524413?utm_source=tuicool&utm_medium=referral
. android更改桌面icon容纳个数以及布局大小
http://blog.csdn.net/guoguo295/article/details/12772531 二、修改Android系统字号:
. cat frameworks/base/core/java/android/content/res/Configuration.java
public final class Configuration implements Parcelable, Comparable<Configuration> {
......
public void setToDefaults() {
fontScale = 1.7f; // default was 1.0f
mcc = mnc = ;
locale = null;
userSetLocale = false;
......
}
......
} . cat packages/apps/Settings/res/values/arrays.xml
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string-array name="entries_font_size">
<item msgid="">Small</item>
<item msgid="">Normal</item>
<item msgid="">Large</item>
<item msgid="">Huge</item>
</string-array> <string-array name="entryvalues_font_size" translatable="false">
<!--
<item>0.85</item>
<item>1.0</item>
<item>1.15</item>
<item>1.30</item>
-->
<item>1.15</item>
<item>1.30</item>
<item>1.50</item>
<item>1.70</item>
</string-array>
</resources> 三、修改Launcher中应用名字体显示不完整:
. 由于上面的修改,到时app的名字只显示了上面一半,下面一半被截掉了;
. 查看哪些文件和app_icon_size有关:
myzr@myzr:~/myandroid/packages/apps/Launcher2/res$ grep app_icon_size * -R
layout-land/launcher.xml: android:layout_height="@dimen/app_icon_size"
values/dimens.xml: <dimen name="app_icon_size">48dp</dimen>
values-sw600dp/dimens.xml: <dimen name="app_icon_size">64dp</dimen>
values-sw720dp/dimens.xml: <dimen name="app_icon_size">72dp</dimen>
. 由于不知道系统使用了那个dimens.xml文件,于是索性将app_icon_size全部修改一致:
. 全部改成80dp,结果图标变大了,完全看不到app的名字;
. 全部改成48dp,结果图标变小了,app名字全部显示出来了;
. 推论:每个图标+app name在一个固定大小的范围里,所以接下来要寻找到那个固定范围是在哪里描述的。
. 根据上面情况进行定位,最后可以确定,系统使用如下目录中的配置:
packages/apps/Launcher2/res/values-sw720dp/
. 故可知,app图标大小修改一定在:packages/apps/Launcher2/res/values-sw720dp/dimens.xml
. 可能的修改为:
cat packages/apps/Launcher2/res/values-sw720dp/dimens.xml
......
<resources>
......
<!-- AppsCustomize -->
<dimen name="apps_customize_cell_width">96dp</dimen>
<dimen name="apps_customize_cell_height">96dp</dimen>
<integer name="apps_customize_maxCellCountX">-</integer>
<integer name="apps_customize_maxCellCountY">-</integer>
<dimen name="all_apps_button_vertical_padding">4dip</dimen> ......
<!-- Workspace cell size -->
<dimen name="workspace_cell_width_land">96dp</dimen>
<dimen name="workspace_cell_width_port">96dp</dimen>
<dimen name="workspace_cell_height_land">96dp</dimen>
<dimen name="workspace_cell_height_port">96dp</dimen>
<dimen name="workspace_width_gap_land">50dp</dimen>
<dimen name="workspace_width_gap_port">0dp</dimen>
<dimen name="workspace_height_gap_land">16dp</dimen>
<dimen name="workspace_height_gap_port">70dp</dimen>
</resources>
......
. 经过确认,最终程序采用了的设置是:
cat packages/apps/Launcher2/res/values-sw720dp/dimens.xml
<resources>
<dimen name="apps_customize_cell_width">96dp</dimen>
<dimen name="apps_customize_cell_height">96dp</dimen>
</resources>
. 修改如下:
cat packages/apps/Launcher2/res/values-sw720dp/dimens.xml
<resources>
<dimen name="apps_customize_cell_width">120dp</dimen>
<dimen name="apps_customize_cell_height">120dp</dimen>
</resources> 四、为什么横向是5个app显示:
. cat packages/apps/Launcher2/res/values-sw720dp/config.xml
<resources>
<integer name="cell_count_x"></integer>
<integer name="cell_count_y"></integer>
...
</resources>
. 从这里可以看出来貌似我们的程序有点不对劲,因为我们是横向5个,纵向8个,相反了;
. 测试改成每行4个app:
<resources>
<integer name="cell_count_x"></integer>
<integer name="cell_count_y"></integer>
...
</resources>
修改Android系统字号(一)的更多相关文章
- 修改Android系统字号(二)
/*********************************************************************** * 修改Android系统字号(二) * 说明: * ...
- 修改Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析
简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改And ...
- 修改android系统开机动画
本文转载自:http://blog.csdn.net/u012301841/article/details/51598115 修改android系统开机动画
- Android源码分析(九)-----如何修改Android系统默认时间
一 : 修改Android系统默认时间 源码路径:frameworks/base/services/java/com/android/server/SystemServer.java 主要变量EARL ...
- 修改Android系统的触摸提示音【学习笔记】
平台信息:内核:Linux version 3.10.0系统:android/android6.0平台:rk3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 本 ...
- Android系统移植与调试之------->如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关
今天有个用户对[设置]有个特殊的要求,即: 1.开机的时候默认显示[开发者选项]并打开[USB调试]开关 ([Developer options]-->[USB debugging]) 2 ...
- 修改Android系统关机动画
文件路径:frameworks\base\services\core\java\com\android\server\power\ShutdownThread.java 在beginShutdownS ...
- Android系统源码学习步骤
Android系统是基于Linux内核来开发的,在分析它在运行时库层的源代码时,我们会经常碰到诸如管道(pipe).套接字(socket)和虚拟文件系统(VFS)等知识. 此外,Android系统还在 ...
- Android系统源代码学习步骤
目前,互联网行业正在朝着移动互联网方向强劲地发展,而移动互联网的发展离不开背后的移动平台的支撑.众所周知,如今在移动平台市场上,苹果的iOS.谷歌的Android和微软的Windows Phone系统 ...
随机推荐
- sql Server2005 master损坏处理
一.准备条件 a) 假设Master 数据库Hung:关闭SQL Server 服务(关闭MSSQLSERVER,SQL Server Agent其他的没有影响),然后剪切C:/Pro ...
- POJ 1305 Fermat vs. Pythagoras (毕达哥拉斯三元组)
设不定方程:x^2+y^2=z^2若正整数三元组(x,y,z)满足上述方程,则称为毕达哥拉斯三元组.若gcd(x,y,z)=1,则称为本原的毕达哥拉斯三元组. 定理:正整数x,y,z构成一个本原的毕达 ...
- ListView的item选中效果
有时app会需要点击某个item并实现选中的效果,例如做pad时用Fragment实现的左侧列表右侧内容的效果,点击左侧某一个item后会高亮选中 有时简单的使用setSelected(boolean ...
- C# 6 —— 属性
记录一下 C# 6 有关属性的语法糖实现,C# 6 涉及到属性的新特性主要有 2 个:自动属性初始化.只读属性赋值与读取. 自动属性初始化(Auto-property initializers) C# ...
- Visual Studio 自定义控件不显示在工具箱
工具=>选项=>Windows窗体设计器=>常规=>AutoToolBoxPopulate=>True
- [RM HA3] Zookeeper在RM HA的应用
[RM HA3] Zookeeper在RM HA的应用 RM HA(ResourceManager HighAvailability)中使用Zookeeper的地方在ZKRMStateStore和Z ...
- Redis 集群实现
Nosql,作为程序员在当下不了解点儿,还真不行,出去聊起来别人就会说你土.那么就聊聊其中一个比较火的redis.redis单机版没得说,但是一直没有集群版,有也是山寨的.前段时间对redis的实现进 ...
- ruby libmysqlclient.18.dylib
在mac 的rails环境中,如果已经确定安装了 mysql server,但是在启动rails s (服务器)的时候出现 Library not loaded: libmysqlclient.18 ...
- 第一个React程序HelloWorld
一.程序步骤 1.用React.createClass生成组件 2.调用React.render把组件渲染到页面中,dom的操作由react自动完成 二.代码 <!DOCTYPE html> ...
- MyBatis学习总结_14_Mybatis使用技巧总结
1. 区分 #{} 和 ${}的不同应用场景 1)#{} 会生成预编译SQL,会正确的处理数据的类型,而${}仅仅是文本替换.对于SQL: select * from student where xC ...