Voglio impostare i margini in base alle dimensioni che ho creato in dimens.xml Le dimensioni funziona correttamente, il suo solo collegamento dati lo può trovare nel caso di seguito:Associazione dati Android - Come ottenere le dimensioni da dimens.xml
lo ha trovato ma dice che marginbottom non può prendere il tipo float. Come posso risolvere questo? Ho provato a convertire entrambi i valori in int ma poi si lamenta che non può essere convertito in int.
Il mio file XML dimensioni è simile al seguente:
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="bigText">44sp</dimen>
<dimen name="littleText">44sp</dimen>
<dimen name="mediumText">40sp</dimen>
<dimen name="smallText">24sp</dimen>
<dimen name="fab_margin">16dp</dimen>
<dimen name="frontpage_margin_noads">0dp</dimen>
<dimen name="frontpage_margin_ads">13dp</dimen>
</resources>
Dove dovrei scrivere questo codice? Tutti i layout che specifichi marginBottom utilizzeranno questo metodo o solo quelli di associazione dei dati o solo questo particolare layout? –
È possibile aggiungere questo su qualsiasi classe (pubblica) in un progetto con associazione dati abilitata. Verrà utilizzato per tutti gli attributi dei margini associati ai dati. –
Il problema è semplice: il margine non è la proprietà della vista, ma l'istanza di layout della vista. Puoi fare ciò che hai provato con altre proprietà di visualizzazione, come il padding, ma c'è una buona ragione per cui gli attributi margin hanno il prefisso 'layout_'. – racs