2016-01-04 2 views
11

Qual è la differenza tra il loro utilizzo e quando dovrebbero essere utilizzati?Quando utilizzare un AppCompatView o una normale vista Android

Un esempio della documentazione per un AppCompatView è:

Una tinta consapevoli EditText. Questo verrà automaticamente utilizzato quando si utilizza EditText nei propri layout. Si dovrebbe solo bisogno di utilizzare manualmente questa classe durante la scrittura di visualizzazioni personalizzate

Perché il AppCompatView essere utilizzato solo per visualizzazioni personalizzate?

C'è un similar question, ma sto cercando una buona spiegazione per perché il AppCompatView deve essere utilizzato solo per le visualizzazioni personalizzate.

risposta

7

Alcune caratteristiche di progettazione dei materiali come il tema materiale e le transizioni di attività personalizzate sono disponibili solo su Android 5.0 (livello API 21) e versioni successive. Tuttavia, puoi progettare le tue app per utilizzare queste funzionalità quando sono in esecuzione su dispositivi che supportano la progettazione dei materiali e sono comunque compatibili con i dispositivi che eseguono versioni precedenti di Android.

Que-> Perché AppCompatView deve essere utilizzato solo per visualizzazioni personalizzate.

Risposta -> In termini semplici, AppCompatView viene utilizzato per maintaining compatibility. Se la tua app utilizza il tema Materiale come con Theme.Material ma non fornisce un tema alternativo, l'app non verrà eseguita su versioni di Android precedenti alla 5.0.

Se i layout progettati in base alle linee guida di progettazione dei materiali non utilizzano nessuno dei nuovi attributi XML introdotti in Android 5.0 (livello di API 21), funzioneranno su versioni precedenti di Android. Altrimenti, puoi fornire layout alternativi. Puoi anche fornire layout alternativi per personalizzare l'aspetto della tua app sulle versioni precedenti di Android.

Creazione di materiale compatibile con le versioni precedenti Le applicazioni Android sono molto più semplici con AppCompat, soprattutto quando si capisce come i suoi stili e temi interagiscano dinamicamente per colorare l'interfaccia utente.

Con AppCompat, è necessario dedicare meno tempo alle attività e alla retrocompatibilità e più tempo dedicato alla creazione effettiva dell'applicazione.

Attualmente, i nuovi progetti creati tramite Android Studio incorporano questa libreria per impostazione predefinita.

Nota: questa libreria dipende dalla libreria di supporto v4.

Qui di seguito sono alcuni link per i riferimenti

  1. Android Material Themes Made Easy With AppCompat
  2. Migrating to the AppCompat Library
  3. Getting Material Design for Pre-Lollipop Devices with AppCompat v21
6

Nel tuo layout, si dovrebbe utilizzare le "normali" di vista, dal momento che le inietta libreria di supporto il codice di compatibilità automaticamente. Le classi fornite dalla libreria di supporto sono necessarie solo quando si scrive una nuova vista personalizzata.In questo caso è necessario estendere le viste AppCompat per ottenere le nuove proprietà (come tint).

+0

Sì, ma perché è necessario estendere le viste 'AppCompat' per farlo? –

+0

Le viste AppCompat vengono iniettate solo quando si utilizzano le viste normali nei layout, sostituendo quelle normali. Quando si estende una vista normale, si avrà solo la funzionalità della visualizzazione normale senza la funzionalità AppCompat. –