如何使用textview android创建灵活的布局

时间:2012-02-07 17:25:11

标签: android textview android-linearlayout

我正在开发一个应用程序并与多个活动共享布局。在那个布局中我有5个TextViews(并显示em作为按钮)水平相邻,现在我的问题是在一些活动中我不需要1或2个TextView,我希望剩下的textview通过调整自身大小来获取布局的全屏宽度。这些文本视图位于线性布局中。

这是布局代码。

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:layout_margin="2dip"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/category"
            android:layout_width="wrap_content"
            android:layout_height="27dip"
            android:layout_marginRight="6dip"
            android:background="@drawable/button_an"
            android:gravity="center_horizontal|center_vertical"
            android:paddingBottom="2dip"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="2dip"
            android:text="Explore by Category"
            android:textColor="#000000"
            android:textSize="9dip" />

        <TextView
            android:id="@+id/location"
            android:layout_width="wrap_content"
            android:layout_height="27dip"
            android:layout_marginRight="6dip"
            android:background="@drawable/button_an"
            android:gravity="center_horizontal|center_vertical"
            android:paddingBottom="2dip"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="2dip"
            android:text="Search by Location"
            android:textColor="#000000"
            android:textSize="9dip" />

        <TextView
            android:id="@+id/date"
            android:layout_width="35dip"
            android:layout_height="27dip"
            android:layout_marginRight="6dip"
            android:background="@drawable/button_an"
            android:gravity="center_horizontal|center_vertical"
            android:paddingBottom="2dip"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="2dip"
            android:text="Date"
            android:textColor="#000000"
            android:textSize="9dip" />

        <TextView
            android:id="@+id/mylocation"
            android:layout_width="wrap_content"
            android:layout_height="27dip"
            android:layout_marginRight="6dip"
            android:background="@drawable/button_an"
            android:gravity="center_horizontal|center_vertical"
            android:paddingBottom="2dip"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="2dip"
            android:text="My Location"
            android:textColor="#000000"
            android:textSize="9dip" />

        <TextView
            android:id="@+id/namesearch"
            android:layout_width="wrap_content"
            android:layout_height="27dip"
            android:background="@drawable/button_an"
            android:gravity="center_horizontal|center_vertical"
            android:paddingBottom="2dip"
            android:paddingLeft="5dip"
            android:paddingRight="5dip"
            android:paddingTop="2dip"
            android:text="Search by Name"
            android:textColor="#000000"
            android:textSize="9dip" />
    </LinearLayout>

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

尝试将相同的权重分配给每个文本视图,这些文本视图会很好。

答案 1 :(得分:2)

尝试将android:layout_weight="1"添加到TextViews。

答案 2 :(得分:1)

在您的活动中,您可以使用findViewById(R.id.yourTxt);

获取对TextView的引用

然后在你不需要的那些你可以打电话

txtView.setVisibility(View.GONE);

这将使它们不可见,并且在绘制视图时不会考虑它们占用的空间。