Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 定心自定义进度对话框_Android_Progressdialog - Fatal编程技术网

Android 定心自定义进度对话框

Android 定心自定义进度对话框,android,progressdialog,Android,Progressdialog,我创建了一个自定义ProgressDialog,如下所示: 首先,我有一个动画列表,有9个连续的动画 <?xml version="1.0" encoding="utf-8"?> 结果是 但是,我想实现一个只有图像(没有白色背景)的进度对话框,它应该居中,我应该修改什么?试试这个,并说明它是如何工作的。我已经试过了,对我来说,它在中心 <style name="NewDialog" parent="@android:style/Theme.Dialog">

我创建了一个自定义ProgressDialog,如下所示: 首先,我有一个动画列表,有9个连续的动画

<?xml version="1.0" encoding="utf-8"?>
结果是


但是,我想实现一个只有图像(没有白色背景)的进度对话框,它应该居中,我应该修改什么?

试试这个,并说明它是如何工作的。我已经试过了,对我来说,它在中心

<style name="NewDialog" parent="@android:style/Theme.Dialog">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowTitleStyle">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
        <item name="android:backgroundDimEnabled">true</item>
        <item name="android:background">@android:color/transparent</item>
        <item ame="android:indeterminateDrawable">@anim/progress_dialog_icon_drawable_animation</item>
    </style>

@空的
@android:彩色/透明
真的
@空的
@空的
@android:style/Animation.Dialog
状态未指定|调整盘
真的
@android:彩色/透明
@动画/进度\u对话框\u图标\u可绘制\u动画
并将此声明为

customDialog=新建对话框(getActivity(),R.style.NewDialog)

看看这是否有效

    Dialog dialog = new Dialog(FlashActivity.this, android.R.style.Theme_Dialog);
    dialog.setCancelable(false);
    ImageView imageView = new ImageView(this);
    imageView.setScaleType(ScaleType.FIT_XY);       
    imageView.setBackgroundResource(R.drawable.progress_dialog_icon_drawable_animation);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(imageView);       
    dialog.setCanceledOnTouchOutside(false);
    dialog.getWindow().setBackgroundDrawable(getResources().getDrawable(R.drawable.color_drawable_1));

    dialog.show();
    AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground();
    animationDrawable.start();
以下是颜色\u可绘制\u 1

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

    <item android:drawable="@color/transparent"></item>

    </selector>  

下面的颜色是透明的。xml(您可以在这里放置任何透明颜色)


#00ffffff
下面是您的进度\u对话框\u图标\u可绘制\u动画

 <?xml version="1.0" encoding="utf-8"?>
 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"  android:oneshot="false">

<item android:drawable="@drawable/icon_progress_dialog_drawable_1" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_2" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_3" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_4" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_5" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_6" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_7" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_8" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_9" android:duration="150" />

</animation-list>

因为您正在创建自定义对话框,所以不要将对话框创建为progressdialog的实例。创造 使用对话框主题的对话框实例。将图像视图添加到其视图内容中。将“可绘制”设置为“图像视图”,然后启动动画。现在,您必须根据需要修改windows对话框。将其设置为无标题,因为对话框主题通常带有标题,并且您必须使用任何透明颜色设置其背景色


尝试以上,你可以让我知道任何问题。它是有效的。

我会把它当作活动来做,如果你对我感兴趣,我可以制作示例代码,我不希望它是通过编程来完成的……需要通过样式和动画来完成是的,但是我知道如果你只想在对话框上有一个对象,还有什么。。你也要把它放在中间。。我认为dialog风格的活动是最好的solution@akajaymo我的回答是用样式和ANIM来为你工作的。我把我的发现写在你的AWSeri下面,尝试了你的解决方案,我在中间得到了进度对话框,但是它不是自定义对话框,它是默认的(以黑色为中心)。
true
设为false
    Dialog dialog = new Dialog(FlashActivity.this, android.R.style.Theme_Dialog);
    dialog.setCancelable(false);
    ImageView imageView = new ImageView(this);
    imageView.setScaleType(ScaleType.FIT_XY);       
    imageView.setBackgroundResource(R.drawable.progress_dialog_icon_drawable_animation);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(imageView);       
    dialog.setCanceledOnTouchOutside(false);
    dialog.getWindow().setBackgroundDrawable(getResources().getDrawable(R.drawable.color_drawable_1));

    dialog.show();
    AnimationDrawable animationDrawable = (AnimationDrawable) imageView.getBackground();
    animationDrawable.start();
   <?xml version="1.0" encoding="utf-8"?>
   <selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:drawable="@color/transparent"></item>

    </selector>  
   <?xml version="1.0" encoding="utf-8"?>
   <resources>

      <color name="transparent">#00ffffff</color>

   </resources>
 <?xml version="1.0" encoding="utf-8"?>
 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"  android:oneshot="false">

<item android:drawable="@drawable/icon_progress_dialog_drawable_1" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_2" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_3" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_4" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_5" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_6" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_7" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_8" android:duration="150" />
<item android:drawable="@drawable/icon_progress_dialog_drawable_9" android:duration="150" />

</animation-list>