ERRORE: problemi di rendering Impossibile trovare le seguenti classi android.support.v7.internal.widget.ActionBarOverlayLayout


97

Sono solo un principiante nello sviluppo di app Android. Quando ho creato un nuovo progetto su Android Studio 1.1.0, rinuncia a questo errore " problemi di rendering Impossibile trovare le seguenti classi android.support.v7.internal.widget.ActionBarOverlayLayout "

Ora ho cercato su questo su Google e ho trovato forse 3 soluzioni fornite dalla maggior parte delle persone.

Dicono:

  1. Modificare l'API (dal riquadro della finestra di anteprima) da 22 a 21 o

  2. Cambia il tema dell'app da "Tema del progetto" a qualsiasi altro tema.

  3. assicurati di aver importato la libreria appcompat-v7 corretta nella struttura del tuo progetto -> dipendenze, fai riferimento a questi passaggi : Aggiungi l'identificatore del progetto della funzionalità della libreria di supporto alla sezione delle dipendenze. Ad esempio, per includere il progetto appcompat aggiungi compile "com.android.support:appcompat-v7:18.0.+" alla sezione delle dipendenze, come mostrato nell'esempio seguente:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

Nota: la mia libreria di supporto Android è aggiornata (l'ho installata utilizzando SDK Manager).

Dopo i primi due passaggi, è stato rimosso l'errore. Ma sento che queste non sono le soluzioni permanenti, il Secondo passo sembra solo una soluzione temporanea. Ho dei dubbi anche sul Primo passaggio, che se per rimuovere l'errore cambiamo api da 22 a 21, quindi alla fine la nostra app non funzionerà in Android 5.1.1 (API 22), sarebbe limitata ad Android 5.0 .1 e inferiore solo (API 21). I miei dubbi sono validi? Per quanto riguarda il terzo passaggio, è la soluzione definitiva a questo problema?

PS: ci scusiamo per la mancata corrispondenza dei tag, non è stato consentito aggiungere tag esatti a causa della reputazione del sito


1
Per me, anche i primi due passaggi non risolvono il problema ... Ottengo "problemi di rendering" con tutti i layout che hanno viste da android.support. *. Questo è frustrante!
user1987392

Risposte:


162

Correggi res / values ​​/ styles.xml in questo modo:

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"/>

Spiegazione dettagliata come richiesto: Theme.AppCompat.Light.DarkActionBarè comunque una sottoclasse della superclasse Base. Ctrl + clic (Android Studio) su di esso e verrai indirizzato alla fonte:

<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />

Non abbiamo cambiato nulla, l'abbiamo solo definito in modo più preciso.


29
Wow, che esperienza fuori dagli schemi in Android Studio.
Warren P

6
Se voglio usare "Theme.AppCompat.Light.NoActionBar" allora cosa?
Haseeb Jadoon

4
Stranamente, aggiungendo la parola "Base". ha funzionato per me. "Tutta la tua base appartiene a noi."
SMBiggs

1
Ha funzionato anche per me ... Sto lavorando su una vecchia app e la Base ha corretto l'errore!
Ha detto Yazdani

1
Perché la definizione precisa del tema risolve il problema?
Robert

28

Questo è un bug noto sin dalla build 1.1 di Android Studio (è ancora disponibile anche nell'anteprima 1.2 e 1.3). Il passaggio del livello API dell'anteprima da 22 a 21 risolve il problema per la maggior parte delle persone. In attesa di una correzione potresti provare anche tu.

inserisci qui la descrizione dell'immagine

Risposte originali qui: Problemi di rendering in Android Studio v 1.1 / 1.2

Sto solo ripubblicando


16

Modifica src / res / values ​​/ styles.xml

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

Quindi seleziona API22, troverai questo problema risolto!


3

Dopo questo errore, sto usando:

API-22 Android 5.1.1 e questo problema esiste ancora, ma puoi scegliere nella parte superiore della barra degli strumenti di Android Studio:

Material Light -> Material Light

e poi puoi vedere l'anteprima con la barra degli strumenti e il tema luminoso.

Spero che questo ti aiuti.


1

Ho risolto questo problema passando al tema Holo Dark, quindi di nuovo al tema dell'app. Ho appena fatto clic sul pulsante sopra il visualizzatore che dice Tema dell'app accanto alla vista di rotazione in Android Studio. Circa il 10% delle volte, questo da solo non funziona e devo anche cambiare l'API del visualizzatore da 22 a 19.

Non ho idea del perché funzioni, ma i suggerimenti forniti sopra non hanno funzionato per me.


0

Non è necessario modificare il tema. Forse stai estendendo ActionBarActivity (deprecato) anziché solo Activity. Cambialo e costruisci il progetto.


Nuove regole @Kleyton, invece di estendere ActionBarActivity (che ora è deprecata), si consiglia di estendere AppCompatActivity (come per le pagine degli sviluppatori di Google Android).
Ashish Goyal

0

Se modifichi l'attività da ActionBarActivity a solo Activity, non dimenticare di importare l'attività stessa. Questo è

importa android.app.Activity

Fa schifo ma ehi, è colpa loro e non nostra.

Inoltre puoi semplicemente cambiare il tema premendo "AppTheme" e scegli Holo.Light.DarkActionBar. Aggiorna automaticamente il file styles.xml, dopodiché ricostruisci il progetto.

Ho fatto tutto questo e per me funziona anche se penso che i ragazzi di Google e IntelliJ dovrebbero fare qualcosa per questo problema di rendering dato che ci è stato detto di passare da Eclipse ad Android Studio


Sono emerse nuove regole fratello! Invece di estendere ActionBarActivity (che ora è deprecata), si consiglia di estendere AppCompatActivity (come per le pagine degli sviluppatori di Google Android).
Ashish Goyal

Funziona allo stesso modo di Activity? E si occupa dei problemi di rendering XML?
Andrecon

Come per le pagine degli sviluppatori di Google Android, esso (AppCompatActivity) si prende cura di tutto ciò che ActionBarActivity faceva
Ashish Goyal,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.