Android Dialog 设置字体大小的具体方法
发布时间:2023-09-12 12:46:49
先看下面图片:
这是我在做登录页面的时候,调用系统的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);
}
}
最后看效果图:


猜你喜欢
- 1.BeanFactory1.1Spring提供了IOC容器的两种实现方式① BeanFactory:IOC容器的基本实现,是Spring内
- MyBatis 获取子类的属性这里有个model类:基类public class user { pu
- monitor概念管程,监视器。在操作系统中,存在着semaphore和mutex,即信号量和互斥量,使用基本的mutex进行开发时,需要小
- 1 泰勒级数介绍近期工作中需要使用matlab建模,期间做案例的时候有个方程:sin(x)=0,要求不使用现有api进行求解,然后有点懵,不
- WebServiceHelper代码:using Microsoft.CSharp;using System;using System.Co
- 本文详细分析了C#类的访问修饰符用法,分享给大家供大家参考。具体用法分析如下:默认情况下,类声明为内部的,即只有当前工程中的代码才能访问它。
- 介绍MVC(Model-View-Controller)是一种软件架构模式,其中应用程序被划分为三个部分:模型(Model)、视图(View
- 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,
- 1、添加spring相关jar包2、配置ehcache jar包。3、添加ehcache mybatis 适配器jar包(在mybatis官
- Java Exception 捕获和显示实例详解 在进行Java B/S架构开发时,经常有这样的场景:后端处理业务逻辑,前端负责
- 最近学习了一个视频公开课,讲到了利用HorizontalScrollView仿ViewPager设计的一个简单相册,其实主要用了ViewPa
- Android之文件数据存储一、文件保存数据介绍Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的
- JavaConfig,是在 Spring 3.0 开始从一个独立的项目并入到 Spring 中的。JavaConfig 可以看成一个用于完成
- 前言最近项目中需要与andorid端进行交互,采用了MQTT消息进行通信,生产环境中偶尔会出现Too many publishesin pr
- 语法糖(Syntactic sugar)是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中
- 本文实例讲述了Spring使用ClassPathResource加载xml资源。分享给大家供大家参考,具体如下:一 代码package le
- 案例需求:访问带有验证码的登录页面login.jsp用户输入用户名,密码以及验证码。如果用户名和密码输入有误,跳转登录页面,提示:用户名或密
- paras.xml文件<?xml version="1.0" encoding="UTF-8"
- 定义:/** * @author Administrator * @project: TestOne * @package: PACKAGE
- 背景介绍公司最近做分库分表业务,接入了 Sharding JDBC,接入完成后,回归测试时发现好几个 SQL 执行报错,关键这几个表都还不是