Android Dialog 设置字体大小的具体方法

先看下面图片:

这是我在做登录页面的时候,调用系统的ProgressDialog 进行等待,可是看起来很不协调,左边的等待图片过大,右边文字过小,看起来老别扭,虽然功能上不存在什么问题,但是我有强迫症,看不顺的就像弄掉。可是找了好久,没发现 ProgressDialog  有一个方法是可以设置字体的。

于是我又来CSDN查找解决方案,可是找了好久,翻了好几页都没看到想要的结果,心冷了,找到的都说ProgressDialog 可以自定义一个View,在layout定义一个布局,然后设置到ProgressDialog 中,这确实是一个解决办法,可是对我来说颇显麻烦,我只是要一个等待效果,改一下字体,费不着去写一个layout,在重写一个ProgressDialog 吧。

最后我想想,可以设置ProgressDialog  的layout 那么应该也可以获取他的View吧,果然Dialog 就有一个获取View的方法:

复制代码 代码如下:
public abstract View getDecorView ()
Added in API level 1
Retrieve the top-level window decor view (containing the standard window frame/decorations and the client's content inside of that), which can be added as a window to the window manager.

Note that calling this function for the first time "locks in" various window characteristics as described in

只要有了View 我就可以找到其中的TextView,并设置相应的字体大小,一下是我的实现代码:

复制代码 代码如下:
    /**
     * 显示 进度对话框
     * @param message 消息
     * @param cancel 是否可取消
     * @param textsize 字体大小
     */
    protected final void showProgressDialog(String message,boolean cancel,int textsize)
    {
        // TODO Auto-generated method stub
        mProgress = new ProgressDialog(this);
        mProgress.setMessage(message);
        mProgress.setCancelable(cancel);
        mProgress.setOnCancelListener(null);
        mProgress.show();

setDialogFontSize(mProgress,textsize);
    }
    private void setDialogFontSize(Dialog dialog,int size)
    {
        Window window = dialog.getWindow();
        View view = window.getDecorView();
        setViewFontSize(view,size);
    }
    private void setViewFontSize(View view,int size)
    {
        if(view instanceof ViewGroup)
        {
            ViewGroup parent = (ViewGroup)view;
            int count = parent.getChildCount();
            for (int i = 0; i < count; i++)
            {
                setViewFontSize(parent.getChildAt(i),size);
            }
        }
        else if(view instanceof TextView){
            TextView textview = (TextView)view;
            textview.setTextSize(size);
        }
    }

最后看效果图:

时间: 2024-09-21 02:33:52

Android Dialog 设置字体大小的具体方法的相关文章

Android Dialog 设置字体大小的具体方法_Android

先看下面图片: 这是我在做登录页面的时候,调用系统的ProgressDialog 进行等待,可是看起来很不协调,左边的等待图片过大,右边文字过小,看起来老别扭,虽然功能上不存在什么问题,但是我有强迫症,看不顺的就像弄掉.可是找了好久,没发现 ProgressDialog  有一个方法是可以设置字体的. 于是我又来CSDN查找解决方案,可是找了好久,翻了好几页都没看到想要的结果,心冷了,找到的都说ProgressDialog 可以自定义一个View,在layout定义一个布局,然后设置到Progr

Android TextView 设置字体大小的方法_Android

废话不多说了,直接给大家贴代码了,具体代码如下所示: package com.example.yanlei.yl4; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.Spannable; import android.text.style.AbsoluteSizeSpan; import and

Android TextView 设置字体大小的方法

废话不多说了,直接给大家贴代码了,具体代码如下所示: package com.example.yanlei.yl4; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.text.Spannable; import android.text.style.AbsoluteSizeSpan; import and

Word2013文档中设置字体大小的4种方法

  为Word2013文档中的文本设置字体大小是最常用的Word设置之一,用户可以通过以下4种方法设置Word2013文档中的字体大小: 方式1:选中需要改变字体大小的文本块,然后在"开始"功能区的"字体"分组中单击"字号"下拉三角按钮,在字号下拉列表中选择合适的字体大小,如图2013073003所示. 图2013073003 选择字体大小 方式2:选中需要改变字体大小的文本块,在"开始"功能区的"字体"分

Android中App字体大小不随系统改变而改变

在 "设置" , "显示" , "字体大小" 里面我们可以设置系统字体大小 App界面字体,如果被修改之后,可能就达不到理想状态的效果,界面布局就发生了变化. 未修改过的效果(测试机型:Nexus 5): 正常 小 超大 修改之后的效果(测试机型:Nexus 5): 正常 小 超大 我们从这两组对比图中可以直观的看到修改后的App字体大小不随系统改变而改变. 其实实现起来很简单,无需设置布局文件里面的 "textSize",只

如何在Word 2013文档中设置字体大小

为Word2013文档中的文本设置字体大小是最常用的Word设置之一,用户可以通过以下4种方法设置Word2013文档中的字体大小: 方式1:选中需要改变字体大小的文本块,然后在"开始"功能区的"字体"分组中单击"字号"下拉三角按钮,在字号下拉列表中选择合适的字体大小,如图2013073003所示. 图2013073003 选择字体大小 方式2:选中需要改变字体大小的文本块,在"开始"功能区的"字体"分组中

Mac电脑Safari怎么设置字体大小

  现在,不少人都开始使用苹果Mac电脑.而在使用过程中,不少人都在使用自带的Safari浏览器.对于很多使用大屏.高分屏的Mac用户来说,网页字体太小是件非常痛苦的事情,其实Safari的字体大小是可以调节的,下面小编给大家带来Mac电脑Safari设置字体大小方法. 1.首先请打开 Safari 的"偏好设置",如图所示 2.在偏好设置中,点击"高级"选项卡,如图所示 3.在高级选项中,勾选辅助功能里的"从不使用以下大小的字体"选项,如图所示

js设置字体大小代码

网页特效设置字体大小代码 这里提供一二款js设置字体大小哦,一款是设置大中小三种字体大小,一种是根据用户输入1-7字号大小能确写字体大小的js代码. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.111cn.net/tr/xhtml1/dtd/xhtml1- transitional.dtd"> <html xmlns="http://

iphone5/iphone5s苹果手机如何设置字体大小

1.在手机中我们找到[设置]按钮. 2.然后在手机的[设置]面板中选择[通用]项. 3.然后我们再点击[通用]项中,我们选择[辅助功能]项. 4.然后,在[辅助功能]项中,选择[大文本]一项. 5.在[大文本]中,我们设置成我们需要的字体大小就可以了. 友情提示 本文章包括所有iphone手机都可照此方法来设置设置字体大小,各位同学不防进入参考参考.