2014-11-02 89 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