动态地将XML布局添加到TableRow Android

时间:2015-04-17 09:58:16

标签: android xml tablerow

我想动态地在TableRow的左侧添加一个xml元素。

这是我的xml。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical" >

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="match_parent" >

    <View
        android:layout_width="2dp"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_marginLeft="10dp"
        android:background="@android:color/black" />

    <View
        android:id="@+id/view1"
        android:layout_width="7dp"
        android:layout_height="7dp"
        android:layout_centerVertical="true"
        android:layout_marginLeft="7dp"
        android:background="@drawable/dot" />
</RelativeLayout>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dp"
    android:padding="20dp"
    android:textAppearance="?android:attr/textAppearanceMedium" />

看起来像这样:enter image description here

我想获得时间表。我的所有元素都是动态添加的表行。我需要将这个xml视图添加到我的表行的左侧。我怎么能这样做?

编辑:   我尝试将它作为DrawableWithIntrinsicBounds添加到tablerow的左侧。但它看起来像这样:enter image description here。形状之间存在差距

2 个答案:

答案 0 :(得分:1)

您可以使用上面发布的代码创建一个名为timeline.xml的xml文件。 然后你有一个表的布局,但你也有一个布局,你放在表中的每个项目。它可能被称为:table_item.xml

然后你可以在其中加入timeline.xml并确保它在你的左边:

<include
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   layout="@layout/timeline.xml" />

答案 1 :(得分:0)

为动态项目创建布局文件。 然后在tablerow中创建一个ViewGroup的动态视图,并在代码中添加膨胀的布局作为它的子项。