在对话框中更改圆圈图标

时间:2016-02-23 08:34:19

标签: java android android-alertdialog progressdialog

我有一个包含此代码的对话框:

-XstartOnFirstThread

并输出: Output dialog

但我希望我的旋转器像这样:

Required dialog 没有使用第三个lib,任何人都可以帮我这么做吗?

3 个答案:

答案 0 :(得分:1)

在res目录中创建一个xml文件夹,并将progressbar.xml文件放入其中。

 <?xml version="1.0" encoding="utf-8"?>
 <rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:pivotX="50%" android:pivotY="50%" android:fromDegrees="0"
    android:toDegrees="360">
    <shape android:shape="ring" android:innerRadiusRatio="3"
        android:thicknessRatio="8" android:useLevel="false">

        <size android:width="72dip" android:height="72dip" />
        <gradient android:type="sweep" android:useLevel="false"
            android:startColor="#448a29" 
            android:endColor="#447829"
            android:angle="0"
             />
    </shape>
</rotate> 

根据您的选择设置startColor和endColor。

现在在ProgressBar的背景中设置progress.xml

喜欢这个

<ProgressBar
 android:id="@+id/ProgressBar" 
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:background ="@xml/progressbar">

您使用了此示例和库https://github.com/afollestad/material-dialogs

答案 1 :(得分:1)

使用此行代码更改进度图标trait WebServiceUser { } class DefaultWebServiceUser @Inject() (webServiceProvider: WebServiceProvider) extends WebServiceUser { val ws = webServiceProvider.getWS ... 你需要至少4张图片来制作这个custom_progress_drawable.xml,它可以创建如下:


if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
progressDialog.setIndeterminateDrawable(getResources.getDrawable(R.drawable.custom_progress_drawable,getTheme()));
}else{
progressDialog.setIndeterminateDrawable(getResources.getDrawable(R.drawable.custom_progress_drawable));
}

现在将此drawable设置为进度对话框中的中间drawable

答案 2 :(得分:0)

你可以像这样定制你的进度dailog,这就像你想要的那样

ACProgressFlower dialog = new ACProgressFlower.Builder(this)
                        .direction(ACProgressConstant.DIRECT_CLOCKWISE)
                        .themeColor(Color.WHITE)
                        .text("Title is here)
                        .fadeColor(Color.DKGRAY).build();
dialog.show();

了解更多信息,请参阅this