1

ビューを実行してフォントを変更する機能を実行しました。問題は、偽の太字と斜体のビットを回避するために、太字のフォントをこのように設定することです(斜体の場合も同じです)e.setTypeface(Constants.fontBold, Typeface.NORMAL);e.getTypeface().getStyle()

したがって、この方法を 2 回行うと (あいまいな理由で)、フォントは太字ではなく通常になります。私は自分のアプリでこの種の可能性を許してしまいました。したがって、誰かが偽の太字と斜体を無効にする方法を知っていれば、私は感謝します!

public static boolean recursiveFontSetting(View v) {

        if (v instanceof ViewGroup) {
            for (int i = 0; i < ((ViewGroup) v).getChildCount(); i++)
                recursiveFontSetting(((ViewGroup) v).getChildAt(i));
            return true;
        } else if (v instanceof TextView) {
            TextView e = (TextView) v;
            if (e.getTypeface() != null
                    && e.getTypeface().getStyle() == Typeface.BOLD) {
                e.setTypeface(Constants.fontBold, Typeface.NORMAL);
            } else {
                e.setTypeface(Constants.font);
            }
            return true;
        } else if (v instanceof Button) {
            Button e = (Button) v;
            if (e.getTypeface() != null
                    && e.getTypeface().getStyle() == Typeface.BOLD)
                e.setTypeface(Constants.fontBold, Typeface.NORMAL);
            else
                e.setTypeface(Constants.font);
            return true;
        }
        return false;
    }

ありがとう !

4

0 に答える 0