2014-11-02 4 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.

Я предлагаю вам изменить родительский класс для вашего SplashScreenActivity от ActionBarActivity к 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 расширяет ActionBarActivity { – Alec

+0

Решено: D изменил класс в MainActivity.java to: public class MainActivity extends Activity {<- большое спасибо: D – Alec

Смежные вопросы