Collegamento tra View nel file XML ed estendere classe View
-
21-09-2019 - |
Domanda
C'è un modo per collegare classe eredita da file xml.
sto provando a connettersi alla classe estesa penseremo nel file XML.
E 'possibile?
Grazie in anticipo.
Soluzione
Avrai notato che tutti i nodi che abbiamo specificato nella XMLs di layout sono in realtà sia classi di visualizzazione (per esempio: TextView, EditView) o visualizzare i contenitori / gestori di layout (ad esempio: LinearLayout, RelativeLayout eccetera.). Android ti permette di creare visualizzazioni personalizzate e contenitori estendendo la classe View e uno dei gestori di layout, rispettivamente. È quindi possibile scegliere di gonfiare tali opinioni direttamente da codice o specificarli come nodi nei tuoi XMLs di layout.
Per esempio, supponendo che si crea una classe View come ad esempio:
public class com.views.MyView extends View{}
, allora è possibile includere questa classe direttamente in voi il layout XML dicendo:
<LinearLayout ..>
<com.views.MyView .. />
</LinearLayout>
Si noti che quando si specifica la visualizzazione di classe direttamente in XML ci sono alcune sottigliezze importanti da considerare come:
Quando gonfiare la visualizzazione personalizzata, il quadro chiamerà diversa costruttore della vista. Gli argomenti sarebbe un oggetto di contesto e AttributeSet (che contiene attributi impostati nel XML).
Per maggiori dettagli si rimanda questo