2014-02-20 112 views
1

我想將默認layout_width = wrap_contentlayout_height = wrap content設置爲我所有的TextView s。於是,我就修改與主題文件:TextView默認佈局參數的主題

<item name="android:textViewStyle">@style/TextViewStyle</item> 

<style name="TextViewStyle" parent="@android:style/Widget.TextView"> 
    <item name = "android:layout_width">wrap_content</item> 
    <item name = "android:layout_height">wrap_content</item> 
</style> 

但如果我設置了TextView沒有layout_width或不layout_height,應用程序在執行時停止。

它可以按我提出的方式完成嗎?大項目可以節省很多xml「無用」的線。

回答

0

不幸的是,無法從主題設置佈局屬性(layout_ *)(請參見Layout Parameters documentationthis answer from an Android framework engineer)。但是,您可以設置樣式佈局屬性,讓每一個元素引用這樣的風格:

<Button style="@style/ButtonBig" android:text="my text" /> 

其中ButtonBig這樣定義:

<style name="ButtonBig" parent="android:Widget.Holo.Light.Button"> 
    <item name="android:textSize">20sp</item> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">100dp</item>   
</style>