2014-11-02 73 views
0

我希望每一個活動都有不同的主題,比如:.MainActivity我想要的主題是android:theme="@android:style/Theme.NoTitleBar.Fullscreen" < - 我嘗試添加它android:name=".MainActivity"下,但是當我啓動應用它崩潰(「不幸的應用程序已停止。」)。不同主題的每個活動

另外,如果我嘗試將android:theme="@style/Theme.AppCompat.Light.NoActionBar"變成它告訴我「你需要使用Theme.AppCompat主題(或後代)與本次活動。」 我缺少任何其他主題?

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.alec_myd.www.alec" > 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/minion_hitman" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 

     </activity> 
     <activity android:name=".SplashScreenActivity" 
      android:screenOrientation="portrait" 
      android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 
      android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
     </activity> 
     <activity android:name=".second_activity" 
        android:label="@string/about"> 
     </activity> 
     <activity android:name=".third_activity" 
      android:label="@string/action_settings"> 

     </activity> 

    </application> 

</manifest> 

回答

1

現在你有android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"設置爲你的SplashScreenActivity。它擴展了ActionBarActivity這是一類appcompat庫。它需要Theme.Appcompat主題才能正常工作。 Theme.Black.NoTitleBar.Fullscreen不是Theme.Appcompat主題。

我建議你從ActionBarActivity爲您SplashScreenActivity更改父類Activity,因爲你並不需要有一個ActionBar

public class SplashScreenActivity extends Activity { 

現在,您可以設置android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"SplashScreenActivity

+0

我檢查了SpashScreenActivity.java,它看起來就像你所說:public class SplashScreenActivity extends Activity {但MainActivity.java看起來像這樣:public class MainActivity extends ActionBarActivity { – Alec 2014-11-02 08:00:10

+0

解決方法:D在MainActivity.java中更改了類到:public class MainActivity extends Activity {< - 非常感謝:D – Alec 2014-11-02 08:03:53