关闭android中的假冒粗体和斜体位

时间:2012-09-21 08:10:31

标签: android fonts

我已经完成了一个贯穿视图并更改字体的函数。 问题是,为了避免伪造的粗体和斜体,我以这种方式设置粗体字体(斜体字也是如此):e.setTypeface(Constants.fontBold, Typeface.NORMAL);后测试e.getTypeface().getStyle()

因此,如果我这样做两次(出于一个阻碍的原因),字体将是正常的而不是粗体。我在我的应用程序中让这种可能性变坏了。所以如果有人知道如何禁用假冒粗体和斜体,我将不胜感激!

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;
    }

谢谢!

0 个答案:

没有答案