2013-05-13 3 views
0

Как избежать дублирования элементов стиля в приведенном ниже примере?Как избежать дублирования элемента стиля?

У меня есть textSize 30sp со стилем - TextStyle.

<style name="TextStyle"> 
    <item name="android:textSize">30sp</item> 
</style> 

То же самое textSize 30sp Я использую в нижнем стиле. Есть ли способ применить textsize - без дублирования написания стиля?

<style name="bottomText"> 
    <item name="android:textSize">30sp</item> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">150dp</item> 
</style> 

ответ

0
<style name="TextStyle"> 
     <item name="android:textSize">30sp</item> 
    </style> 

<style name="bottomText" parent="@style/TextStyle"> 
     <item name="android:layout_width">fill_parent</item> 
     <item name="android:layout_height">150dp</item> 
    </style> 

пусть стиль bootomText Наследование TextStyle

http://developer.android.com/guide/topics/ui/themes.html#DefiningStyles

+0

хорошо отлично. а как же у меня есть еще один стиль с текстом полужирный? –

+0

текст смелый ?? Есть ли смелый attr в TextView в Android? если вы просто хотите установить текст attr, вы можете увидеть это сообщение http://stackoverflow.com/questions/3297437/shadow-effect-for-a-text-in-android/3297562#3297562 – Mejonzhan

+0

Конечно, есть 'bold' для атрибута' android: textStyle' TextView. – mmBs

0

Из того, что я могу видеть, что вам не нужно, что второй тип, так как вам нужно установить layout_width и layout_height в xml. Вы можете просто установить высоту и ширину при создании своего layout и просто использовать style="@styles/TextStyle". Если есть причина, вы не можете сделать это таким образом, пожалуйста, объясните проблему немного лучше

1

Просто пусть один стиль наследует от другого:

<style name="bottomText" parent="TextStyle"> 
     <item name="android:layout_width">fill_parent</item> 
     <item name="android:layout_height">150dp</item> 
    </style> 

стиль «bottomText», то есть все атрибуты, определенные в «TextStyle», но все еще может быть перезаписан в bottomText.

1
<style name="TextStyle"> 
    <item name="android:textSize">30sp</item> 
</style> 

<style name="bottomText" parent="@style/TextStyle"> 
    <item name="android:layout_width">fill_parent</item> 
    <item name="android:layout_height">150dp</item> 
</style> 

<style name="boldText" parent="@style/bottomText"> 
    <item name="android:textStyle">bold</item> 
</style> 

Другой подход:

<style name="bottomText.BoldText"> 
    <item name="android:textStyle">bold</item> 
</style> 

В последних двух случаях boldText наследует от bottomText, который определяет android:layout_width и android:layout_height

Смежные вопросы