Android ProgressDialog的样式 [英] Style for android ProgressDialog
问题描述
我正在尝试自定义 ProgressDialog
样式以具有类似的内容:
I'm trying to customize ProgressDialog
style to have something like that:
我所拥有的:
我知道如何更改微调器的样式和颜色,但是我不明白的是:如何制作圆角,我试图使用 android:radius
属性,但是什么也没有变化,而我不知道如何减少 padding
.也许我可以通过编程来做到这一点?
I know how to change spinner style and color, but what I didn't understand that is: how to make rounded-corners, I'm trying to use android:radius
attribute, but nothing changes, and I don't know how to decrease padding
. Maybe I can do it programmatically?
<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>
推荐答案
尝试以下对我有用的代码:
try the below Code it works for me:
将此XML文件放入可绘制文件夹(dialog_progress_background.xml)
Put this XML file in drawable folder (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" />
Dailog布局(R.layout.dialog_spinner.xml)
Dailog layout (R.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>
//用于创建自定义进度对话框的类
// Class for create custom Progress Dialog
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()方法以显示进度对话框
And call showProgressDialog() method to show Progress Dialog
ProgressBuilder dialog=new ProgressBuilder(MainActivity.this);
dialog.showProgressDialog()
//关闭进度对话框
dialog.dismissProgressDialog()
这篇关于Android ProgressDialog的样式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!