Android 10 修改系统默认的字体大小

本文介绍了两种方法来修改Android系统的字体大小。一种是在`Configuration.java`文件中通过改变`setToDefaults()`方法内的`fontScale`值。另一种是在`SettingsProvider`应用的`defaults.xml`中定义字体大小,并在`DatabaseHelper.java`的`loadSystemSettings()`方法中设置默认值。此外,还提到了通过ADB命令动态调整字体大小的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码路径:
frameworks/base/core/java/android/content/res/Configuration.java
frameworks/base/ packages/SettingsProvider/res/values/defaults.xml
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
方法一:在Configuration.java文件中修改字体大小
在Configuration.java文件中setToDefaults() 这个方法中将fontScale修改为1.5

/**
     * Set this object to the system defaults.
     */
    public void setToDefaults() {
        fontScale = 1;
        mcc = mnc = 0;
        mLocaleList = LocaleList.getEmptyLocaleList();
        locale = null;
        userSetLocale = false;
        touchscreen = TOUCHSCREEN_UNDEFINED;
        keyboard = KEYBOARD_UNDEFINED;
        keyboardHidden = KEYBOARDHIDDEN_UNDEFINED;
        hardKeyboardHidden = HARDKEYBOARDHIDDEN_UNDEFINED;
        navigation = NAVIGATION_UNDEFINED;
        navigationHidden = NAVIGATIONHIDDEN_UNDEFINED;
        orientation = ORIENTATION_UNDEFINED;
        screenLayout = SCREENLAYOUT_UNDEFINED;
        colorMode = COLOR_MODE_UNDEFINED;
        uiMode = UI_MODE_TYPE_UNDEFINED;
        screenWidthDp = compatScreenWidthDp = SCREEN_WIDTH_DP_UNDEFINED;
        screenHeightDp = compatScreenHeightDp = SCREEN_HEIGHT_DP_UNDEFINED;
        smallestScreenWidthDp = compatSmallestScreenWidthDp = SMALLEST_SCREEN_WIDTH_DP_UNDEFINED;
        densityDpi = DENSITY_DPI_UNDEFINED;
        assetsSeq = ASSETS_SEQ_UNDEFINED;
        seq = 0;
        windowConfiguration.setToDefaults();
    }

Settings中系统的字体大小,在/packages/apps/Settings/res/values/arrays.xml文件中的,”entryvalues_font_size”这个tag中分别有定义对应的数值

<string-array name="entryvalues_font_size" translatable="false">
        <item>0.85</item>
        <item>1.0</item>
        <item>1.15</item>
        <item>1.30</item>
    </string-array>

方法二:在SettingsProvider应用中修改字体大小
1、在defaults.xml文件中定义一个字体大小

 <fraction name="def_font_scale">120%</fraction>

2、在DatabaseHelper.java文件中loadSystemSettings()方法中设置默认字体大小

private void loadSystemSettings(SQLiteDatabase db) {
        SQLiteStatement stmt = null;
        try {
            stmt = db.compileStatement("INSERT OR IGNORE INTO system(name,value)"
                    + " VALUES(?,?);");

            loadBooleanSetting(stmt, Settings.System.DIM_SCREEN,
                    R.bool.def_dim_screen);
            loadIntegerSetting(stmt, Settings.System.SCREEN_OFF_TIMEOUT,
                    R.integer.def_screen_off_timeout);

            // Set default cdma DTMF type
            loadSetting(stmt, Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, 0);

            // Set default hearing aid
            loadSetting(stmt, Settings.System.HEARING_AID, 0);
            // Set default tty mode
            loadSetting(stmt, Settings.System.TTY_MODE, 0);

            loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS,
                    R.integer.def_screen_brightness);

            loadIntegerSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_FOR_VR,
                    com.android.internal.R.integer.config_screenBrightnessForVrSettingDefault);

            loadBooleanSetting(stmt, Settings.System.SCREEN_BRIGHTNESS_MODE,
                    R.bool.def_screen_brightness_automatic_mode);

            loadBooleanSetting(stmt, Settings.System.ACCELEROMETER_ROTATION,
                    R.bool.def_accelerometer_rotation);

            loadDefaultHapticSettings(stmt);

            loadBooleanSetting(stmt, Settings.System.NOTIFICATION_LIGHT_PULSE,
                    R.bool.def_notification_pulse);

            loadUISoundEffectsSettings(stmt);

            loadIntegerSetting(stmt, Settings.System.POINTER_SPEED,
                    R.integer.def_pointer_speed);

            // UNISOC:Bug 1001981  add navigation bar feature support for multil users @{
            // set default navigation bar values.
            loadIntegerSetting(stmt, Settings.System.NAVIGATION_BAR_CONFIG,
                    R.integer.def_navigation_bar_config);
            loadIntegerSetting(stmt, Settings.System.NAVIGATION_BAR_SHOW,
                    R.integer.def_navigation_bar_show);
			loadFractionSetting(stmt, Settings.System.FONT_SCALE, R.fraction.def_font_scale, 1);		
            /*@}*/
            /*
             * IMPORTANT: Do not add any more upgrade steps here as the global,
             * secure, and system settings are no longer stored in a database
             * but are kept in memory and persisted to XML.
             *
             * See: SettingsProvider.UpgradeController#onUpgradeLocked
             */
        } finally {
            if (stmt != null) stmt.close();
        }
    }

用命令控制字体大小

Settings.System.FONT_SCALE
adb shell settings put system font_scale 1.2
<think>好的,用户想了解如何配置Git、Node.js和VSCode进行协同开发。首先,我需要回忆这三个工具各自的作用。Git是版本控制系统,Node.js是JavaScript运行环境,VSCode是代码编辑器。用户可能希望将它们整合起来,方便开发和团队协作。 接下来,我应该分步骤来讲解安装和配置。先安装Git,然后是Node.js,接着配置VSCode。每个步骤需要检查是否成功安装,比如用户提到在桌面右键出现Git Bash Here,说明Git安装成功,这点可以引用参考中的内容[^2]。 安装Git部分,需要给出具体的安装命令,比如sudo apt update和sudo apt install git,还有配置用户名和邮箱,这部分参考了引用[1]的内容。安装Node.js的话,可能需要使用nvm来管理版本,这样用户能灵活切换不同版本,这里需要给出nvm的安装命令和Node.js的安装示例。 然后是VSCode的安装,用户可能用的是Ubuntu,所以用snap安装比较方便。安装完成后,需要安装相关扩展,比如GitLens、ESLint、Node.js扩展包,这些能提升开发效率。 接下来是项目配置部分。在VSCode中初始化Git仓库,设置.gitignore文件,特别是要排除node_modules,这点很重要。初始化Node.js项目使用npm init,安装依赖,比如Express,这样用户能开始开发。 调试配置是关键部分。VSCode的调试功能需要配置launch.json文件,这里需要详细说明如何设置,特别是使用Node.js的内置调试器,参考了引用[1]中的node --inspect命令。 最后是协同开发流程,包括分支管理、提交代码、拉取更新,这些Git的基本操作需要简明说明,确保用户能和团队协作顺畅。 生成的问题部分需要覆盖用户可能遇到的后续疑问,比如调试技巧、Git集成、依赖管理、团队协作配置以及性能优化。这些问题有助于用户深入学习和解决问题。 检查是否有遗漏的步骤,比如环境变量配置或者权限问题,但用户提供的引用中没有提到这些,可能不需要额外补充。确保所有命令正确,并符合Linux环境,特别是apt和snap的使用。 总结下来,需要结构清晰,步骤明确,每个部分都给出验证安装成功的方法,并引用提供的参考内容,确保信息准确可靠。</think>### 如何配置 Git、Node.js 和 VSCode 进行协同开发? 以下是分步骤的详细配置教程: --- #### **1. 安装 Git** - **安装命令**(Ubuntu/Debian): ```bash sudo apt update sudo apt install git ``` - **验证安装**: ```bash git --version ``` 安装成功后,右键菜单会出现`Git Bash Here`选项。 - **配置全局用户信息**: ```bash git config --global user.name "Your Name" git config --global user.email "your.email@example.com" ``` 此配置用于标识代码提交者身份[^1]。 --- #### **2. 安装 Node.js** - **推荐使用 `nvm`(Node Version Manager)**: ```bash curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash source ~/.bashrc # 重新加载环境变量 ``` - **安装 Node.js**(例如安装 18.x 版本): ```bash nvm install 18 node --version # 验证安装 ``` --- #### **3. 安装 VSCode** - **通过 Snap 安装**(Ubuntu): ```bash sudo snap install --classic code ``` - **验证安装**: 在终端输入`code`命令,若打开编辑器则成功。 --- #### **4. VSCode 插件配置** - **必装扩展**: 1. **GitLens**:增强 Git 功能(提交历史、代码作者追踪) 2. **ESLint**:代码规范检查 3. **Prettier**:代码自动格式化 4. **Node.js Extension Pack**:Node.js 开发工具包 --- #### **5. 项目配置** 1. **初始化 Git 仓库**: ```bash mkdir my-project && cd my-project git init ``` 2. **创建 `.gitignore` 文件**: ```gitignore node_modules/ .env *.log ``` 3. **初始化 Node.js 项目**: ```bash npm init -y # 生成 package.json npm install express # 示例:安装依赖 ``` --- #### **6. 调试配置** - **在 VSCode 中配置调试器**: 1. 点击左侧“运行和调试”图标 2. 创建 `launch.json` 文件,选择 `Node.js` 环境 3. 配置示例: ```json { "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "启动程序", "skipFiles": ["<node_internals>/**"], "program": "${workspaceFolder}/app.js", "runtimeArgs": ["--inspect"] # 启用调试模式 } ] } ``` --- #### **7. 协同开发流程** 1. **分支管理**: ```bash git checkout -b feature/new-feature # 创建新分支 git push origin feature/new-feature # 推送分支 ``` 2. **提交代码**: ```bash git add . git commit -m "添加新功能" git push ``` 3. **拉取更新**: ```bash git pull origin main # 同步主分支最新代码 ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值