/***********************************************************************
* 修改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系统 ...
随机推荐
-
UI设计趋势:渐变设计风格重新回归主流
在扁平化设计刚刚兴起之时,渐变是设计师们避之不及的设计手法,然而今天它已经正式回归.几乎是在一夜之间,无数的网站开始使用渐变色. 从背景到图片上的色彩叠加,包括UI元素上所遮盖的色彩,所有的这一切都表 ...
-
runnable和thread的区别
一是写一个类继承自Thread类,然后重写里面的run方法,用start方法启动线程二是写一个类实现Runnable接口,实现里面的run方法,用new Thread(Runnable target) ...
-
(转)WITH (NOLOCK)
缺点: 1.会产生脏读 2.只适用与select查询语句 优点: 1.有些文件说,加了WITH (NOLOCK)的SQL查询效率可以增加33%. 2.可以用于inner join 语句 脏读: 一个用 ...
-
Add and Search Word - Data structure design 解答
Question Design a data structure that supports the following two operations: void addWord(word) bool ...
-
Swing-setBorder()用法-入门
注:本文内容转自:Swing编程边框(Border)的用法总结.内容根据笔者理解稍有整理. 函数说明: public void setBorder(Border border) 设置此组件的边框.Bo ...
-
Dynamics CRM 部署NLB后使用群集名称访问弹验证框验证不过的解决方法
自上次部署NLB到现在已有段时间了,今天部署完后遇到了个问题,上次也遇到过但忘记了,本篇作为对该问题的一个记录,部署文档:https://blogs.msdn.microsoft.com/niran_ ...
-
Python爬虫入门教程 10-100 图虫网多线程爬取
图虫网-写在前面 经历了一顿噼里啪啦的操作之后,终于我把博客写到了第10篇,后面,慢慢的会涉及到更多的爬虫模块,有人问scrapy 啥时候开始用,这个我预计要在30篇以后了吧,后面的套路依旧慢节奏的, ...
-
tensorflow的transpose
从图中看出来perm=[1,0,2] 表示第一个维度和第二个维度进行交换. 默认的是[0,1,2] 所以perm=[1,0,2] 表示第一个维度和第二个维度进行交换.0,1,2表示index.
-
C#Question:“XXX”的重载均与“System.Threading.WaitCallback”不匹配。
public static class ThreadPool // 提供一个线程池,该线程池可用于执行任务.发送工作项.处理异步 I/O.代表其他线程等待以及处理计时器. { [SecuritySaf ...
-
Leetcode 225 两个队列实现栈
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...