Подтвердить что ты не робот

AppCompat не поддерживает текущие функции темы - ничего не работает

Я пытаюсь использовать MaterialDesign в своем проекте, но я получаю эту ошибку все время:

Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
        at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:371)
        at android.support.v7.app.AppCompatDelegateImplV7.initWindowDecorActionBar(AppCompatDelegateImplV7.java:173)
        at android.support.v7.app.AppCompatDelegateImplBase.getSupportActionBar(AppCompatDelegateImplBase.java:87)
        at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:197)
        at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99)
        at de.memorian.playpal.MainActivity.afterInject(MainActivity.java:72)

Я сталкивался с подобными проблемами, но каждый раз я получаю ту же ошибку.

MainActivity.java:

@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {

@ViewById
protected Toolbar toolbar;

@AfterInject
public void afterInject() {
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
}
}

styles.xml:

<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

стили-v21.xml:

style name="AppTheme" parent="AppTheme.Base">
    <!-- enable window content transitions -->
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <!-- specify shared element transitions -->
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>

Я попытался установить родительскую тему для любого вывода .NoActionBar, но все же. Я также попытался удалить весь код из AndroidAnnotations и сделать его обычным способом с помощью setContentView и findViewById(R.id.toolbar). Единственное, что меня беспокоит, это то, что я установил windowNoTitle в true, но в журнале он говорит, что это false.

Любая помощь?

4b9b3361

Ответ 1

Для всех, у кого есть эта проблема, я просто нашел проблему: По-видимому, существует еще одна тема с именем "AppTheme". Я не знаю, почему и как, но изменение имени моей темы решило проблему.

Это был ответ на проблему my.

Ответ 2

Изменить:

<item name="android:windowNoTitle">true</item>

в

<item name="windowNoTitle">true</item>

Ответ 3

Добавьте их в Activity MainActivity в файл AndroidManifest.xml

как это

        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/Theme.AppCompat.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

Ответ 4

Огромное спасибо. Это сработало и для меня. ;-)

Ответ 5

Скопируйте этот код в свой основной стиль:

<style name="Theme.MyTheme" parent="Theme.AppCompat.NoActionBar">