android之修改系统自带ProgressDialog样式

android中自定义进度条样式(ProgressDialog) 先发一下系统自带的进度条和自定义进度条外观图片: 图1 图2 图1是系统自带的进度条,图2是自定义样式后的进度条。为了方便只更改进度条外观,其他的对话框属性及样式不做修改。 要做到以上效果的修改,需要4个步骤: 1、自定义MyProgressDialog类,虽说是自定义,但实际上是照抄系统自带的ProgressDialog,只是修改其中的某些写死了样式的代 阅读详情

1.ProgressDialog默认样式是当前Activity的theme所定义的ProgressDialog样式。

  继承自父类AlertDialog的style.

AlertDialog的源码

     static int resolveDialogTheme(Context context, int resid) {
        if (resid == THEME_TRADITIONAL) {
            return com.android.internal.R.style.Theme_Dialog_Alert;
        } else if (resid == THEME_HOLO_DARK) {
            return com.android.internal.R.style.Theme_Holo_Dialog_Alert;
        } else if (resid == THEME_HOLO_LIGHT) {
            return com.android.internal.R.style.Theme_Holo_Light_Dialog_Alert;
        } else if (resid == THEME_DEVICE_DEFAULT_DARK) {
            return com.android.internal.R.style.Theme_DeviceDefault_Dialog_Alert;
        } else if (resid == THEME_DEVICE_DEFAULT_LIGHT) {
            return com.android.internal.R.style.Theme_DeviceDefault_Light_Dialog_Alert;
        } else if (resid >= 0x01000000) {   // start of real resource IDs.
            return resid;
        } else {
            TypedValue outValue = new TypedValue();
            context.getTheme().resolveAttribute(com.android.internal.R.attr.alertDialogTheme,
                    outValue, true);
            return outValue.resourceId;
        }
    }

         2.引用系统的样式,引用不到com.android.internal.R.style.Theme_Holo_Dialog_Alert,而是通过ProgressDialog.THEME_HOLO_LIGHT来引用系统自定义ProgressDialog样式。

ProgressDialog dialog = new ProgressDialog(this, ProgressDialog.THEME_HOLO_LIGHT);
dialog.setTitle("登录");
dialog.setMessage("正在登录,请稍后...");
// dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(true);
dialog.show();


       3.引用自定义ProgressDialog样式

转自http://www.2cto.com/kf/201309/241455.html

转自http://blog.youkuaiyun.com/rohsuton/article/details/7518031

转自http://blog.youkuaiyun.com/luhuajcdd/article/details/8986212

        转自http://blog.youkuaiyun.com/qjlhlh/article/details/7979179




Android ProgressDialog废弃原因与现代替代方案 ProgressBar是Android官方推荐的标准化进度指示组件,用于在异步任务中提供可视化反馈;Dialog则是轻量可控的模态容器,二者组合可构建生命周期安全、主题兼容、可定制的加载提示。其核心原理在于解耦UI渲染与业务逻辑,通过ViewModel或弱引用管理状态,规避Activity重建导致的BadTokenException。技术价值体现在稳定性提升、内存泄漏防控及Material Design/You主题无缝适配。典型应用场景包括网络请求加载、文件上传进度、后台任务状态反馈等。本文深入剖析Prog 阅读详情

相关推荐

android ProgressDialog 自定义样式

这个demo是关于android中继承Dialog重新自定义一个ProgressDialog。 需求:带加载图片和文字说明,可定时停止也可被动中断。 如有BUG或者不完善,欢迎小伙伴们提出~

Android制作一个简洁的自定义ProgressDialog

ProgressDialog是安卓应用中常见的交互控件,在有网络请求的地方经常会使用到。如何自定义一个progress dialog是最基本的了,今天就制作一个简洁的ProgressDialog模板,以后可以直接拿过去修改成自己的风格,先看效果图: 首先写一个dialog的布局文件 <RelativeLayout xmlns:android="http://schemas.andr...

shving的专栏 2215

android自定义ProgressDialog样式

android自定义ProgressDialog样式详解,一分钟教会你如何自定义android样式。

Android 自定义ProgressDialog示例实现

闲来无事,总结了两个自定义的ProgressDialog,大家可以参考下,根据自己需要进行选择修改: 实现效果: 示例1: 示例2: 代码如下: MainActivity:只是两个Button点击事件 package com.customwaitdialog; import android.app.Activity; import android.

红日 2812

progressDialog 自定义颜色与样式

progressDialog progressbar 自定义颜色

Android ProgressDialog 控件自定义(Loading)

执行耗时操作时,为了安抚用户等待的烦躁心情我们一般会使用进度条之类的空间,在android中让大家最容易想到的就是progressbar或者progressDialog. 源码的详细说明链接:http://blog.youkuaiyun.com/jason_996/article/details/46907409

android progressdialog 样式,android之修改系统自带ProgressDialog样式

1.ProgressDialog默认样式是当前Activity的theme所定义的ProgressDialog样式。继承自父类AlertDialog的style.AlertDialog的源码static int resolveDialogTheme(Context context, int resid) {if (resid == THEME_TRADITIONAL) {return com.an...

weixin_33490603的博客 991

android中ProgressDialog与ProgressBar的使用详解

本篇文章是对android中ProgressDialog与ProgressBar的使用进行了详细的分析介绍,需要的朋友参考下

ProgressDialog(四)——改变系统自带ProgressDialog的文字大小

MainActivity如下: package com.example.ttt; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.Window; /** * Demo描述: * 改变系统自带ProgressDialog的

谷哥的小弟 3154

Android ProgressDialog进度条使用详解

主要对Android开发之ProgressDialog读取文件进度进行解析,感兴趣的朋友可以参考一下

从原始数据到农学模型:DJI M3M/P4M多光谱影像全链路处理实战

本文详细介绍了使用DJI M3M/P4M多光谱无人机进行农学建模的全链路流程。核心在于强调辐射标定的首要性,它将原始DN值转换为具有物理意义的反射率,是确保后续植被指数计算与模型反演准确性的基石。文章通过大疆智图和Pix4Dfields的实战演示,手把手指导完成数据处理、影像镶嵌及光谱信息提取,最终构建从光谱指数到叶面积指数等关键农学参数的反演模型,实现精准农业分析。

weixin_29281941的博客 242

Android自定义 ProgressDialog的实现

算是半改这篇文章吧,稍作修改,有不足之处,还请指正 纯转载不运行的事我不干,我的博客都是能运行的东西,不想让人看了没结果 http://blog.youkuaiyun.com/yeqishi/article/details/7622023 看看效果图 Android系统自带的ProgressDialog样式的确不太好看,我们可以自己定义它的样式,下面看看实现 1.style.xm

我们很欢乐 6万+

WinForm实战:如何用C#和PdfiumViewer打造一个功能齐全的PDF阅读器(含源码)

本文详细介绍了如何使用C#和PdfiumViewer库从零开始构建一个功能齐全的WinForm PDF阅读器。内容涵盖项目环境搭建、核心组件解析、基于命令模式的工具栏与UI架构设计,并深入讲解了智能缩放、页面导航、打印功能等核心交互的实现,以及内存管理和性能优化等高级话题,为开发者提供了一套完整的实战解决方案。

docker8compose的博客 503

Android ProgressDialog 自定义

原文:http://www.oschina.net/question/8676_11797 项目当中遇到这样一个应用场景:执行某个操作需要耗时15秒以上,依照惯例,这就要使用到进度条一类的UI控件,以安抚用户等待的烦躁心情。Android Framework已经提供了ProgressDialog,可以很好的解决这个问题。 ProgressDialog实际上是AlertDialog的子类

浮生若梦 2538

群晖Web Station实战:从零搭建个人静态导航站

本文详细介绍了如何利用群晖NAS自带的Web Station套件,从零开始搭建个人静态导航站。通过安装Web Station、上传静态网站源码、配置网页服务与网络门户等步骤,无需代码基础即可实现内网访问。文章还分享了文件权限设置、个性化定制及常见问题排查等实用技巧,帮助用户高效管理个人常用网址,充分挖掘NAS的服务器潜能。

tea88的博客 1330

从OAuth到DID:Web4.0身份验证协议的技术演进图谱

在数字身份体系从Web2.0向Web4.0跨越的进程中,身份验证协议正经历着从中心化授权到自主主权的范式转移。本文通过对比OAuth 2.0、OpenID Connect等传统方案与W3C DID、ION等去中心化协议的技术架构,揭示身份验证技术在性能、安全、隐私三大维度的代际差异。基于对GitHub、欧盟数字身份钱包等典型系统的实测数据分析,量化评估中心化授权服务器的单点故障风险与DID链上验证的吞吐量瓶颈。结合零知识证明、分布式密钥管理等前沿技术,为开发者提供面向Web4.0的渐进式身份架构迁移策略。

水务人 833

【原创】强迫症治愈安卓自带progressdialog着色修改主题色实现

我几年前解决progressbar强迫症的文章在这里,https://www.jianshu.com/p/f7caea66973b 今天我强迫症花了一两个小时解决这个头疼的问题, 我就非得通过主题实现解决这个对话框不跟随我的主题颜色的问题。。 我就偏不用第三方也不自己实现,我偏要用自带的progressdialog实现。 为了解决这个问题,我翻看了源码 定位了我以前写的工具箱修改对话框样式,关于源...

情随事迁个人博客 777

【红外DDE算法】一种应用于高动态范围红外可视化的算法

【红外DDE算法】一种应用于高动态范围红外可视化的算法 - 这个算法背后的动机 - 展示这个算法的流程 - 然后讨论各个可调参数的意义。

sunwindl91181的博客 1682

Android学习之ProgressDialog

我们经常会看见一些应用程序,在请求数据的时候会出现“加载中。。。”对话框,Android中ProgressDialog类用来实现该效果。ProgressDialog对话框可以设置对话框上显示的文字、图标、进度条样式。Progre中经常用方法下:              2、Progre中经常用方法 setProgressStyle:设置进度条风格,风格为圆形,旋转的。   s

紫雾凌寒 1267

RT-DETR 模型剪枝优化:结构化剪枝对 R18/R50 性能的影响

本文提出分层结构化剪枝策略R18:参数量减少 42%(28M→16.2M),推理速度提升 35%(15→20.3 FPS@Jetson Nano),mAP@0.5 仅降 1.2%;R50:参数量减少 55%(170M→76.5M),推理速度提升 48%(42→62.2 FPS@T4),mAP@0.5 仅降 2.1%。核心价值:为 RT-DETR 提供“精度-效率-部署”平衡的轻量化方案,推动其在边缘设备、工业质检等场景的大规模落地。部署建议。

走向CTO的路上... 464

YOLO11改进|注意力机制篇|引入ELA注意力机制

YOLO11添加ELA注意力机制

A1983Z的博客 3647

Android改变系统自带ProgressDialog的文字大小

package com.example.ttt; import android.app.Activity; import android.app.ProgressDialog; import android.os.Bundle; import android.view.Window; /** * Demo描述: * 改变系统自带ProgressDialog的文字大小 * * 改变方式:

superbigfollicle的博客 3711

R语言广义加型模型(GAM)的运用例子及实现教程

一旦拟合了广义加型模型,我们可以查看模型摘要和诊断,以评估模型的质量和拟合情况。# 查看模型摘要响应变量:mpg(汽车的燃油效率)拟合函数:mpg ~ s(hp) + s(wt)

Mrrunsen的博客 3444

安卓中ProgressDialog用法

.新建Android项目 ProgressDialog    在包andorid.huada下建文件ProgressDialogActivity.java 2.ProgressDialogActivity.java代码如下 package android.huada; import android.app.Activity; import android.app.ProgressD

dahuzi的专栏 1890

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: android之4.0的系统主题style修改android:Theme.Holo.Light
下一篇: Android之Toast显示不出来原因
allenlee
博客等级 码龄18年 95粉丝 83原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值