我想创建一个进度对话框,它会膨胀另一个xml文件。
所以我尝试了以下代码
public class MyProgressDialog extends AlertDialog {
public MyProgressDialog(Context context) {
super(context,R.layout.customprog);
// TODO Auto-generated constructor stub
}
}
MyProgressDialog pdia=new MyProgressDialog(this);
并在asynctask中显示在onPreExecute()中使用pdia.show();
porgspin.xml
<?xml version="1.0" encoding="utf-8"?>
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/progress1"
android:pivotX="50%"
android:pivotY="50%" />
customprog.xml
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="80dp"
android:padding="10dp" >
<ProgressBar
android:id="@+id/imageView1"
android:indeterminateDrawable="@drawable/porgspin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/progress" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="41dp"
android:layout_toRightOf="@+id/imageView1"
android:text="Loading..."
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#000000" />
</RelativeLayout>
当我运行程序时,我无法查看进度条。
我在这里缺少什么。 请帮我找到它。
提前致谢。
答案 0 :(得分:8)
super(context,R.layout.customprog)
的第二个参数接受theme
资源而不是layout
。为什么不改变布局呢?
public class MyProgressDialog extends AlertDialog
{
@Override
public void show() {
super.show();
setContentView(R.layout.activity_main);
}
}
答案 1 :(得分:1)
不是在构造函数中传递自定义布局,而是覆盖对话框的onCreate()方法,并使用setContentView()方法传递自定义布局..