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

首先写一个dialog的布局文件
然后新建一个CustomProgressDialog继承于Dialog
public class CustomProgressDialog extends Dialog {public TextView messageTv;public CustomProgressDialog(Context context) {this(context, R.style.MyDialogStyle, "");}public CustomProgressDialog(Context context, String string) {this(context, R.style.MyDialogStyle, string);}public CustomProgressDialog(Context context, int theme, String string) {super(context, theme);setCanceledOnTouchOutside(false);setContentView(R.layout.custom_progress_dialog);messageTv = (TextView) findViewById(R.id.tv_message);messageTv.setText(string);getWindow().getAttributes().gravity = Gravity.CENTER;getWindow().getAttributes().dimAmount = 0f;}@Overridepublic void dismiss() {super.dismiss();}}
上面构造方法用到了一个MyDialogStyle的theme, 在自定义dialog中,需要自定义dialog的样式,所以还需要在styles.xml中写一个dialog样式:
样式中的各属性的含义,看英文名就应该能知道是什么意思了,其中android:backgroundDimEnabled是表示dialog弹出时,背景要不要变暗。如果想改变转圈的图标颜色,可以使用
android:indeterminateTint="@color/white_color"
android:indeterminateTintMode="src_atop"
不过这两个属性只在5.0以上的版本生效,比如我们修改为绿色:

这样一个简单的ProgressDialog就做完了,使用的时候可以这样使用:
CustomProgressDialog customProgressDialog = new CustomProgressDialog(this, "登录中...");
customProgressDialog.show();
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
