2015-05-31 18 views
10

Qual è la differenza tra un componente di visualizzazione AppCompat e un componente di visualizzazione standard/predefinito?Differenza tra una vista AppCompat e una normale vista Android

Ad esempio, la differenza tra un AppCompatEditText, e un EditText, o tra un AppCompatButton e Button.

Guardando il developer docs for android.support.v7.widget, i componenti AppCompat vista sono descritti come "tinta consapevoli", ma è questa l'unica differenza, e che cosa esattamente fa questo?

+2

"cosa fa esattamente?" - 'appcompat-v7', come con' Theme.Material', supporta la nozione di un tema personalizzato che definisce i colori, come 'colorPrimary' e' colorAccent'. I widget Native 'Theme.Material' su Android 5.0+ e i widget supportati in' appcompat-v7', utilizzeranno tali colori in conformità con le linee guida di Material Design. – CommonsWare

+0

Grazie a @CommonsWare. Se pubblichi questo come risposta, sarei in grado di accettarlo. –

+0

Beh, non risponde completamente alla tua domanda. Non ho fatto una revisione sistematica di tutti i widget 'appcompat-v7' (in particolare con il recente aggiornamento) per sapere cos'altro, oltre alla colorazione, potrebbe essere diverso su di essi. – CommonsWare

risposta

13

Quando si utilizza uno Button o uno EditText in realtà si utilizza AppCompatButton e AppCompatEditText. Dalla documentazione ufficiale dello AppCompatEditText.

A tint aware EditText. Questo verrà usato automaticamente quando usi EditText nei tuoi layout. Si dovrebbe solo bisogno di utilizzare manualmente questa classe durante la scrittura di visualizzazioni personalizzate

+0

Link: https://developer.android.com/reference/android/support/v7/widget/AppCompatEditText.html –

6

Qual è la differenza tra una componente vista AppCompat e un componente vista/default norma?

AppCompat View Component supporta funzioni compatibili su una versione precedente della piattaforma.

i componenti vista AppCompat sono descritti come "tinta consapevole", ma è questa l'unica differenza, e che cosa esattamente fa questo?

Anche se la sola differenza di AppCompatView è che consente la tinta dinamica e la tinta di sfondo. Tint aware non è l'unica differenza, ogni AppCompatView ha le sue differenze, per esempio.

  • AppCompatEditText vs EditText

Consente attributo style textAllCaps fino a Gingerbread.

  • AppCompatSpinner vs Spinner

Impostare il tema a comparsa utilizzando popupTheme.

È possibile analizzare ciascuna differenza di visualizzazione in Android docs.

Tuttavia, come dice Sid/Docs, non è necessario specificarlo nei propri layout poiché verrà automaticamente convertito in viste AppCompat. Tuttavia, se si desidera creare una visualizzazione personalizzata, è necessario utilizzare le viste AppCompat, oppure si verificherà this bug.

Problemi correlati