我正在为我的Android应用程序制作一些菜单,并且整个标准文本视图重复了5次,每次只更改android:text标签,其他一切都是相同的。
这里有很多属性,对每个文本视图复制/粘贴所有这些属性效率非常低。
有没有办法只定义一次公共属性并将它们添加到每个TextView元素?
答案 0 :(得分:20)
是的,您可以定义样式。在您的值res文件夹名称styles.xml中创建一个文件,并添加如下内容:
<resources>
<style name="my_header_text">
<item name="android:textStyle">bold</item>
<item name="android:textSize">18sp</item>
<item name="android:textColor">@android:color/white</item>
</style>
</resources>
这定义了样式。在您的布局中,您可能会有这样的字段:
<TextView
android:id="@+id/my_title"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
style="@style/my_header_text"
android:layout_centerVertical="true"
android:layout_marginLeft="5dip"/>
请注意,style语句引用上面定义的样式。样式几乎可以包含任何属性。 Read up on them here