android - library - support design 28.0 0




Atualizado para AppCompat v22.1.0 e agora obtendo IllegalArgumentException: AppCompat não suporta os recursos atuais do tema (3)

Agora, o AppCompat é mais rigoroso com o que ele espera nos sinalizadores de janela de tema, correspondendo melhor ao que você obteria da estrutura.

A principal razão por trás disso é oferecer suporte ao AppCompatDialogs que também adicionamos nesta versão. Eles fazem uso pesado do sinalizador windowNoTitle , ao qual o AppCompat anteriormente não prestava muita atenção.

Portanto, para corrigir seu problema, você tem duas opções:

A maneira mais fácil é usar Theme.AppCompat.NoActionBar como tema principal. Isso sempre fará a coisa certa.

Se você não pode fazer isso (talvez precise suportar a barra de ação e nenhuma barra de ação), faça o seguinte:

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

<style name="MyTheme.NoActionBar">
    <!-- Both of these are needed -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

Você deve estar de volta aos trilhos agora.

Acabei de atualizar meu aplicativo para usar o AppCompat v22.1.0 recém-lançado e agora recebo a seguinte exceção quando abro meu aplicativo.

Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
        at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:360)
        at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:246)
        at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106)

Como faço para corrigir isso?


Aqueles que ainda estão recebendo erros, depois de todas essas correções.

Herde de

Theme.AppCompat.Light.NoActionBar

e não use

<item name="windowActionBar">false</item>

Então, você não receberá nenhum erro.


Eu adicionei

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

mas não foi suficiente. Finalmente, mover super.onCreate antes de setContentView em Activity - corrigiu meu problema :)

   public void onCreate(Bundle savedInstanceState) {    

        super.onCreate(savedInstanceState);    
        setContentView(R.layout.v2_main_dash);
        ...




android-appcompat