我正在尝试定制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(使用前将#替换为@)