程序员

设置Dialog消息字体

2019-03-29  本文已影响0人  lipyhui

一、说明

  笔记主要是记录一些本人在开发当中的学习和使用笔记。笔记内容包含一些本人觉得重要的知识点、本人易犯的错误等。
  由于本人水平有限,其中出现的错误或者不合理的地方望各位读者多多包含,并指出其中不合理和错误的地方,以便我来修改正。谢谢!

二、笔记时间

  2019年03月29日

三、简述

  本文主要讲述如何设置Dialog字体。

四、详情

  由于实际项目中需要Dialog不随系统字体发生变化,所以才有了以下方法配置Dialog消息字体大小为dip,来实现项目效果。

1、实现方法

  根据自己的业务需求,修改setViewFontSize方法可以实现相应效果。样例是设置字体大小为固定的dip。

 private void setDialogFontSize(Dialog dialog, int dp) {
        Window window = dialog.getWindow();
        View view = window.getDecorView();
        setViewFontSize(view, dp);
    }

    private void setViewFontSize(View view, int dp) {
        if (view instanceof ViewGroup) {
            ViewGroup parent = (ViewGroup) view;
            int count = parent.getChildCount();
            for (int i = 0; i < count; i++) {
                setViewFontSize(parent.getChildAt(i), dp);
            }
        } else if (view instanceof TextView) {
            TextView textview = (TextView) view;
            textview.setTextSize(TypedValue.COMPLEX_UNIT_DIP, dp);
        }
    }

2、调用

  调用需要在show之后调用,不然设置不会失效。

waittingBarDialog.show(); 
setDialogFontSize(waittingBarDialog, 25);  //设置消息字体大小为25dip
上一篇 下一篇

猜你喜欢

热点阅读