我想默认layout_width = wrap_content
和layout_height = wrap content
设置我的所有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 :(得分:0)
不幸的是,无法从主题设置布局属性(layout_ *)(请参阅Layout Parameters documentation和this 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>