Java 在android中创建带有进度条的自定义对话框屏幕
我正在尝试制作一个自定义对话框,所有屏幕上都有黑色背景,中间有一个微调器 这是我的密码Java 在android中创建带有进度条的自定义对话框屏幕,java,android,eclipse,Java,Android,Eclipse,我正在尝试制作一个自定义对话框,所有屏幕上都有黑色背景,中间有一个微调器 这是我的密码 public class ActivityIndicator extends Dialog { private ProgressBar progressBar; private CountDownTimer timer = null; public ActivityIndicator(Context context) { super(context);
public class ActivityIndicator extends Dialog
{
private ProgressBar progressBar;
private CountDownTimer timer = null;
public ActivityIndicator(Context context)
{
super(context);
}
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_indicator);
this.setCancelable(false);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
progressBar.setMax(200);
}
@Override
public void show()
{
timer = new CountDownTimer(2000, 1000)
{
public void onTick(long millisUntilFinished)
{
progressBar.setProgress((int) millisUntilFinished/10);
}
public void onFinish()
{
timer.cancel();
timer.start();
}
};
}
@Override
public void dismiss()
{
timer.cancel();
}
}
而XML是
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:alpha="0.6" >
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
现在在这之后。调用了onShow(),但什么也没有发生
要添加整个屏幕对话框以在屏幕上显示,我需要做什么。我的主活动屏幕上没有显示任何内容。喜欢它添加对话框的标准视图
您错过了调用
super.show()自定义对话框的覆盖方法中的代码>。要删除对话框的背景,必须将透明主题作为第二个参数传递给对话框实例:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TransparentDialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
</style>
</resources>
mDialog = new ActivityIndicator(this, R.style.TransparentDialog);
@空的
@android:彩色/透明
@android:彩色/透明
mDialog=新活动指示器(此,R.style.TransparentDialog);
什么也没有发生,对话框没有添加“我的活动”的视图。您覆盖了show,但没有调用super.show();伟大的谢谢,它解决了一个小问题。现在它的工作,但在布局我有一个相对的布局和进度条。工作正常。但它被一个灰色的方形视图所包围。我怎样才能让这个正方形消失。它出现在屏幕中间和里面,是我的进度条。(我已经删除了黑色背景和relativeLayout的alpha)你能发布一个屏幕截图吗?是的,我已经尝试过了,在我的xml中,甚至我已经删除了相对布局,只使用了进度条,但仍然显示了这一点
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="TransparentDialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:background">@android:color/transparent</item>
</style>
</resources>
mDialog = new ActivityIndicator(this, R.style.TransparentDialog);