如何避免重复的 TextView 代码?
Posted
技术标签:
【中文标题】如何避免重复的 TextView 代码?【英文标题】:How do I avoid repetitive TextView code? 【发布时间】:2015-11-22 13:04:02 【问题描述】:我想在主布局文件中包含以下布局,在多个点,但在每次使用时,我想ONLY更改“android:text”相对布局内的文本视图的属性(如下所示)。我怎样才能做到这一点?
附:我知道如何将它包含在主布局中。这包括相对布局(如下所示),但创建另一个布局文件的主要目的是因为(文本视图的)代码在主布局中被重复使用,唯一不同的属性是“android:text”在这些重复的文本视图之间。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_>
<TextView
android:id="@+id/order_id_label"
android:layout_
android:layout_
android:text="test"
android:fontFamily="sans-serif-light"
android:padding="20dp"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
【问题讨论】:
如果你想克隆一个文本视图:***.com/a/3900156/3758439 谢谢,但这并不能回答我的问题。 【参考方案1】:在您的另一个布局文件中,您可以使用这个 .
<include layout="@layout/main_layout"/>
您可以从您的活动课程中设置文本。
TextView tv = (TextView) findViewById(R.id.order_id_label)
tv.setText("New Text");
这是您可以做到这一点的唯一方法。
【讨论】:
【参考方案2】:如果所有 TextView
元素参数都相同,您可以使用 <merge> </merge>
指令在单独的文件中定义此组件,然后使用 <include layout="" />
Check here how to reuse
但是如果TextView
参数中的任何一个发生了变化,即android:text
属性,最好的方法是将所有其他TextView 属性分离为自定义样式,并在不同的xml 布局文件中重用这个自定义样式
Check here how to use styles
【讨论】:
我选择这个作为最佳答案,因为第二部分(样式)正是我想要的。我理解这一点,但你能修正错别字,以便其他正在寻找相同答案的人能够理解它。谢谢以上是关于如何避免重复的 TextView 代码?的主要内容,如果未能解决你的问题,请参考以下文章
可以将TextView放在RadioGroup中。但是,这是好的做法吗?