Android ProgressDialog 的样式

2023-12-29

我正在尝试定制ProgressDialog风格有类似的东西:

我拥有的:

我知道如何更改微调器的样式和颜色,但我不明白的是:如何制作圆角,我正在尝试使用android:radius属性,但是没有任何变化,而且不知道如何减少padding。也许我可以通过编程来做到这一点?

<style name="TransparentProgressDialog" parent="android:Theme.Holo.Dialog">
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item>
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:textColorPrimary">#FFFFFF</item>
    <item name="android:backgroundDimEnabled">false</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textStyle">normal</item>
    <item name="android:textSize">@dimen/_14sdp</item>
</style>

<style name="CustomAlertDialogStyle">
    <item name="android:bottomBright">@color/transparent</item>
    <item name="android:bottomDark">@color/transparent</item>
    <item name="android:bottomMedium">@color/transparent</item>
    <item name="android:centerBright">@color/transparent</item>
    <item name="android:centerDark">@color/transparent</item>
    <item name="android:centerMedium">@color/transparent</item>
    <item name="android:fullBright">@color/transparent</item>
    <item name="android:fullDark">@color/transparent</item>
    <item name="android:topBright">@color/transparent</item>
    <item name="android:topDark">@color/transparent</item>
</style>

尝试下面的代码,它对我有用:

将此 XML 文件放入可绘制文件夹中 (dialog_progress_background.xml)

<corners android:radius="10dp" />

<solid android:color="#80000000" />

<padding
    android:bottom="40dp"
    android:left="40dp"
    android:right="40dp"
    android:top="40dp" />

对话框布局(RR.layout.dialog spinner.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ProgressBar
        android:id="@+id/progressBar"
        style="?android:attr/progressBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/progressBar"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:text="Loading..."
        android:textColor="#FFFFFF" />

</RelativeLayout>

// 创建自定义进度对话框的类

public class ProgressBuilder {
    private Context context;
    private Dialog dialog;

    public ProgressBuilder(Context context) {
        this.context = context;

    }

    public void showProgressDialog() {
        dialog = new Dialog(context);
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
        dialog.getWindow().setBackgroundDrawable(
                context.getResources().getDrawable(
                        R.drawable.dialog_progress_background));
        dialog.setContentView(R.layout.dialog_spinner);
        dialog.setCancelable(false);
        dialog.show();
    }

    public TextView getTextView()
    {
        return (TextView)dialog.findViewById(R.id.textView1);
    }

    public Dialog getDialog()
    {
        return dialog;
    }

    public void dismissProgressDialog() {
        dialog.dismiss();
    }
}

并调用 showProgressDialog() 方法来显示进度对话框

ProgressBuilder dialog=new ProgressBuilder(MainActivity.this);
    dialog.showProgressDialog()  

//关闭进度对话框

dialog.dismissProgressDialog()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android ProgressDialog 的样式 的相关文章

随机推荐