2013-10-15 15 views
8

In Android Ho il seguente:utilizzare le dimensioni in stile personalizzato

dimens.xml

<dimen name="buttonMarginRL">10dp</dimen> 
<dimen name="buttonMarginTB">5dp</dimen> 

style.xml

<style name="my_button" parent="@android:style/Widget.Button"> 
    <item name="android:textSize">16sp</item> 

    <item name="android:layout_marginLeft">@dimen/buttonMarginRL</item> 
    <item name="android:layout_marginRight">@dimen/buttonMarginRL</item> 
    <item name="android:layout_marginTop">@dimen/buttonMarginTB</item> 
    <item name="android:layout_marginBottom">@dimen/buttonMarginTB</item> 
</style> 

E io sono l'aggiunta a una vista pulsante:

someFragment.xml

<Button 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/button" 
    style="@style/my_button" /> 

Ma i margini non vengono applicati. Quando si inserisce 10dp e 5dp direttamente nello stile my_button, funziona come previsto. In Android è possibile utilizzare i valori specificati in dimens.xml per essere utilizzati in stili personalizzati oppure i valori di dimensione possono essere applicati direttamente alla vista?

+0

Le voci di dimensione sono comprese tra il tag ? –

risposta

0

So che è tardi per una risposta, ma è per le persone che stanno cercando questo tipo di errore. C'è un falso riferimento al genitore. Basta cambiare la riga seguente da styles.xml

<style name="my_button" parent="@android:style/Widget.Button"> 

a

<style name="my_button"> 

Inoltre, è possibile aggiungere tutte le proprietà comuni di my_button per il suo riferimento in stili e quindi aggiungere la seguente riga alla Lo stile del tema. Facendo ciò, puoi saltare il riferimento android: buttonStyle nell'xml dell'attività.

<item name="android:buttonStyle">@style/my_button</item> 
Problemi correlati