2015-01-08 2 views
-2

У меня есть активность запуска с этой компоновкой, которая просто показывает изображение в центре.LaunchActivity не отображает правильный макет

Однако отображается только пустая черная страница, а затем она переходит в целевой класс.

Проблема заключается в том, что активность запуска не отображается как таковая в activity_launch.xml ... В чем проблема?

activity_launch.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
tools:context=".app.LaunchActivity" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
android:gravity="center_vertical|center_horizontal" 
android:background="#0064B0"> 

<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:src="@drawable/logo_property_finder" /> 
</LinearLayout> 

Java:

public class LaunchActivity extends BaseActivity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_launch); 

    try { 
     Thread.sleep(1000); 
    } catch (InterruptedException e) { 
     e.printStackTrace(); 
    } finally { 
     Intent intent = new Intent(this, HomeActivity.class); 
     startActivity(intent); 
     this.finish(); 
    } 
} 
} 

Вот манифест для LaunchActivity: манифеста:

<application 
    android:name=".app.BaseApplication" 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/MyTheme"> 

    <!-- App Pages --> 
    <activity 
     android:name=".app.LaunchActivity" 
     android:label="@string/app_name" 
     android:launchMode="singleTop" 
     android:screenOrientation="portrait" 
     android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
... Other activities 
</application> 

MyTheme:

<style name="MyTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:homeAsUpIndicator">@drawable/button_back</item> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 
+0

Что вы хотите сделать? Вы хотите показать LaunchActivity в течение 1 секунды, а затем запустить HomeActivity? – Chandrakanth

+0

Да, но это не проблема. Моя проблема заключается в том, что макет - это просто пустая страница, а не то, что написано в файле activity_launch.xml – Derekyy

+1

Это потому, что вы делаете Thread.sleep в методе onCreate: интерфейс создается только один раз, когда onCreated полностью вызван. Поставьте свой сон за его пределы – Tr4X

ответ

2

Попробуйте это в методе onCreate() LaunchActivity.

Handler handler=new Handler(); 
    handler.postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      Intent intent=new Intent(LaunchActivity.this, HomeActivity.class); 
      startActivity(intent); 
      finish(); 
     } 
    }, 1000); 
Смежные вопросы