How to prevent TextView font changing, when we change the Device font style in Samsung devices

前端 未结 3 1804
醉酒成梦
醉酒成梦 2020-12-11 04:22

I would like say that I have a strange problem in setting textview font. If I change the Device font style from setting-> display, then textview font style also get chang

3条回答
  •  被撕碎了的回忆
    2020-12-11 04:59

    public class CustomTextView extends TextView {
    
        Context context;
    
        public CustomTextView (Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
            this.context = context;
        }
    
        public CustomTextView (Context context, AttributeSet attrs) {
            super(context, attrs);
            this.context = context;
        }
    
        public CustomTextView (Context context) {
            super(context);
            this.context = context;
        }
    
        public void setTypeface(Typeface tf, int style) {
            if (style == Typeface.NORMAL) {
                super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/HelveticaNeue.ttf")/*
                                                                                                                 * ,
                                                                                                                 * -
                                                                                                                 * 1
                                                                                                                 */);
            } else if (style == Typeface.ITALIC) {
                super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/HelveticaNeueItalic.ttf")/*
                                                                                                                     * ,
                                                                                                                     * -
                                                                                                                     * 1
                                                                                                                     */);
            } else if (style == Typeface.BOLD) {
                super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/HelveticaNeueBold.ttf")/*
                                                                                                                     * ,
                                                                                                                     * -
                                                                                                                     * 1
                                                                                                                     */);
            }
        }
    
    }
    

    and add it in ur xml like this

        
    

提交回复
热议问题