我有一个正在制作的自定义表格行。我想使用 XML 文件来定义单行的外观。我想让一个类扩展 TableRow 并将自己定义为 XML 中定义的文件。XML 文件可能如下所示:
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:text="@string/loading"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/data"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="@string/loading"
android:textAppearance="?android:attr/textAppearanceLarge" />
</TableRow>
代码可能如下所示:
public class SpecialTableRow extends TableRow {
public SpecialTableRow (Context context) {
}
}
我可以在构造函数中放入一些东西来让类假设它是整个 tableRow 吗?或者,是否有另一种效果更好的结构?我想出的最好的是:
TableRow tr=(TableRow) LayoutInflater.from(context).inflate(R.layout.text_pair,null);
TextView mFieldName=(TextView) tr.findViewById(R.id.label);
TextView mValue=(TextView) tr.findViewById(R.id.data);
tr.removeAllViewsInLayout();
addView(mFieldName);
addView(mValue);
但这会从 XML 中删除布局参数。外面有什么更好的吗?