我正在尝试创建一个启动画面,以便在我的应用初始化时显示,使用此处讨论的对话框方法:
http://blog.iangclifton.com/2011/01/01/android-splash-screens-done-right/
然而,无论我做什么,启动屏幕都不会出现,屏幕只是保持黑屏直到主屏幕完全实例化。我在setup()方法结束时调用m.dismiss()。
没有抛出任何错误,launch.XML只是一个linear_out,带有match_parent的宽度和高度,并且有一个按钮占用了enti视图,但它从未出现..
我认为它是“THIS”的上下文应该是别的东西,或宽度/高度应该是匹配父母以外的东西...任何想法/帮助将不胜感激。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
m = new Dialog(this,R.style.SplashScreen);
m.setContentView(R.layout.launch);
m.setCancelable(false);
m.show();
setContentView(R.layout.main);
Handler h = new Handler();
h.post( new Runnable(){
public void run() {
// TODO Auto-generated method stub
setup();
}
});
LAUNCH.XML文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button android:text="Button" android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/button1"></Button>
</LinearLayout>
答案 0 :(得分:0)
您的设置方法在UI线程上运行。它可以防止显示spashscreen。尝试使用asynctask进行设置,并关闭onPostExecute()中的启动