在android中水平放置三个文本视图的问题

时间:2011-05-09 17:29:37

标签: android user-interface textview

在我的应用程序中,我已将三个文本视图水平放置在线性布局中。布局角落的两个文本视图,它们是固定的,不会更改。我在布局上有On Click监听器以移动到下一个活动。在第二个活动中,无论我在编辑框中输入什么,都将被放置在中间文本视图中。

现在的问题是第一个文本视图位于角落,但是如果中间文本视图的长度很短,则第三个文本视图会更改,或者如果中间文本视图太大,则第三个文本视图会受到干扰。

我希望第一个和第三个位于角落,中间的一个根据其文字大小自动调整。怎么做请帮助我...

以下是我的布局

 <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/inputLayout1">
                          <TextView android:textSize="22sp" android:text="Input Type" android:id="@+id/inputtext1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
                          <TextView  android:textSize="22sp" android:text="GPS" android:id="@+id/inputtext2" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
                          <TextView  android:textSize="22sp" android:text="A" android:id="@+id/inputtext3" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
                      </LinearLayout>

2 个答案:

答案 0 :(得分:1)

 <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/inputLayout1">
                          <TextView android:textSize="22sp" android:text="Input Type" android:id="@+id/inputtext1" android:layout_width="0dp" android:layout_weight="1" android:layout_height="wrap_content"></TextView>
                          <TextView  android:textSize="22sp" android:text="GPS" android:id="@+id/inputtext2" android:layout_width="0dp"  android:layout_weight="1" android:layout_height="wrap_content"></TextView>
                          <TextView  android:textSize="22sp" android:text="A" android:id="@+id/inputtext3"  android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content"></TextView>
                      </LinearLayout>

相应地调整权重以调整文本视图的大小。

答案 1 :(得分:1)

前两条建议存在问题,我不认为它们可以解决提问者的目的。

我认为以下几点是我们所寻求的。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:padding="5dip">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:background="@android:color/darker_gray"
            android:textColor="@android:color/black"
            android:text="left text" />
        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:lines="1"
            android:gravity="center_horizontal"
            android:background="@android:color/black"
            android:textColor="@android:color/white"
            android:text="very long middle text, very long middle text" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:gravity="right"
            android:background="@android:color/darker_gray"
            android:textColor="@android:color/black"
            android:text="right text" />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#FF777777"
        android:padding="5dip">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:background="@android:color/darker_gray"
            android:textColor="@android:color/black"
            android:text="left text" />
        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:lines="1"
            android:gravity="center_horizontal"
            android:background="@android:color/black"
            android:textColor="@android:color/white"
            android:text="short middle text" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:gravity="right"
            android:background="@android:color/darker_gray"
            android:textColor="@android:color/black"
            android:text="right text" />
    </LinearLayout>
    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:padding="5dip">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:background="@android:color/darker_gray"
            android:textColor="@android:color/black"
            android:text="left text" />
        <TextView
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:lines="1"
            android:gravity="center_horizontal"
            android:background="@android:color/black"
            android:textColor="@android:color/white"
            android:text="short middle text" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:lines="1"
            android:gravity="right"
            android:background="@android:color/darker_gray"
            android:textColor="@android:color/black"
            android:text="longer right text" />
    </LinearLayout>
</LinearLayout>