我正在尝试创建一个简单的加载屏幕,我不需要任何进度条或任何只是图像。
我需要什么: -
- 开始活动A
单击活动B的按钮
- 单击按钮也会启动一个对话框,只在活动B正在加载时显示我的图像
- 一旦加载了活动B我想保持对话框显示,直到我的渲染器加载完所有纹理。
是否可以将活动对话框从一个活动传递到另一个活动?
//Activity A
StartButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
Intent intent = new Intent(context, ActivityB.class);
Dialog loader_dialog = new Dialog(context,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
loader_dialog.setContentView(R.layout.loading_screen);
loader_dialog.show();
//this obviously doesnt work but is there something similar i can do?
//intent.putExtra("LoadingScreen", loader_dialog);
startActivity(intent);
finish();
}
});
如果不可能,还有其他方法可以达到预期的效果吗?
答案 0 :(得分:1)
您可以创建对话框并让它出现在下一个活动的onCreate()或onStart()方法中 - B活动:
public class ActivityB extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Dialog loader_dialog = new Dialog(context,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
loader_dialog.setContentView(R.layout.loading_screen);
loader_dialog.show();
...
}
}
我认为可以执行你想要的任务。
答案 1 :(得分:1)
如果您确实希望在转换到第二个Activity期间显示对话框,则可以使用一个Activity而不是两个Activity,并更改该Activity的布局以使用第二个Activity的布局,而不是调用另一个Activity。但是,这可能很复杂,因为您将两个活动的功能集成到一个活动中。
修改强>
您可以使用片段代替活动。