Android S バージョンではフォント サイズが変更され、フォントが太字に変更されます

1. フォント サイズは非常にシンプルです。

ベンダー/mediatek/proprietary/packages/apps/SettingsProvider/res/values/freeme_defaults.xml

<!-- freeme.biantao、20170307。デフォルトのフォント スケール。[1.0:デフォルト 0.85:小さい 1.15:大きい 1.3:最大] -->
    <string name="def_font_scale" translatable="false">1.45</string>

ここでのデフォルトは最大値です

2. フォントが太字なので、とてもシンプルに見えます!

最初は、多くの人が夢中になって頭を悩ませたり、不思議に思ったりしていました(妹)。

結局、幸運なことに私は耐え忍んで真実を理解しました。

次の 2 つのステップで実行してください。

(1) フレームワーク配下の /frameworks/base/core/java/android/provider$Settings.java を変更します。

       private static Final float DEFAULT_FONT_SCALE = 1.0f;
        private static Final int DEFAULT_FONT_WEIGHT = 0; //主にこれを修正し、300 に変更します、なぜですか? 後でわかります(笑)!

(2) ベンダー配下の /vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/accessibility$ FontWeightAdjustmentPreferenceController.javaを変更します。

public class FontWeightAdjustmentPreferenceController extends TogglePreferenceController {      //*/tyd,lxd,20221030, 太字フォントを追加static Final int BOLD_TEXT_ADJUSTMENT = //700-400=300            FontStyle.FONT_WEIGHT_BOLD - FontStyle.FONT_WEIGHT_NORMAL;

   

    public FontWeightAdjustmentPreferenceController(Context context, String priorityKey) {         super(context, priorityKey);     }

    @Override
    public int getAvailabilityStatus() {         return AVAILABLE;     }

    @Override
    public boolean isChecked() {         return Settings.Secure.getInt(mContext.getContentResolver(),                 Settings.Secure.FONT_WEIGHT_ADJUSTMENT, 300 ) == BOLD_TEXT_ADJUSTMENT ;

//なぜ?フォントを太字にするには両側の値が等しくなければならないため、等しくない場合はフォントを太字にすることができません。

デザインは独創的、いや素晴らしい、そして奇妙だと言わざるを得ません。
    }

    @Override
    public boolean setChecked(boolean isChecked) {         return Settings.Secure.putInt(mContext.getContentResolver(),                 Settings.Secure.FONT_WEIGHT_ADJUSTMENT, (isChecked ? BOLD_TEXT_ADJUSTMENT : 0));     } }



以上です。この 2 つのファイルを修正すれば、現在のニーズを希望どおりに解決できると思います。

おすすめ

転載: blog.csdn.net/qq_46687516/article/details/131902236