2011-02-17 127 views
0

我想在左边的一列和右边的两个按钮旁边的两个按钮中使用三个textViews来创建一个relativeLayout。问题是,当第一个textView很短时,即“3或4个字符”时,下面的textView会在它们比第一个textView长的时候被包装。如果可能的话,我不希望这样做,并希望它们一直到按钮。我知道我可能缺少一个参数或类似的东西。有谁能够帮助我?在RelativeLayout中的Android TextView包装

<LinearLayout android:id="@+id/LinearLayout02" android:orientation="vertical" android:layout_height="fill_parent" android:layout_width="fill_parent"> 
<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/RelativeLayout_class1" android:visibility="visible"> 


<TextView android:layout_width="wrap_content" android:text="@+id/TextView01" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:id="@+id/TextView_class1_name" android:textColor="@color/Button_Text1"></TextView> 
<TextView android:layout_width="wrap_content" android:text="@+id/TextView01" android:layout_below="@+id/TextView_class1_name" android:layout_height="wrap_content" android:layout_alignLeft="@+id/TextView_class1_name" android:layout_alignRight="@+id/TextView_class1_name" android:id="@+id/TextView_class1_building" android:textColor="@color/Button_Text1"> </TextView> 
<TextView android:text="@+id/TextView01" android:layout_below="@+id/TextView_class1_building" android:layout_alignLeft="@+id/TextView_class1_building" android:layout_alignRight="@+id/TextView_class1_building" android:id="@+id/TextView_class1_room" android:textColor="@color/Button_Text1" android:layout_height="wrap_content" android:width="0dip" android:layout_width="wrap_content"></TextView> 
<Button android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/Button_class1_map" android:minHeight="@dimen/button_small_size" android:minWidth="@dimen/button_small_size" android:maxHeight="@dimen/button_small_size" android:maxWidth="@dimen/button_small_size" android:text="@string/text_map" android:layout_centerVertical="true"></Button> 
<Button android:layout_toLeftOf="@+id/Button_class1_map" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/Button_class1_map" android:layout_alignBottom="@+id/Button_class1_map" android:id="@+id/Button_class1_edit" android:minHeight="@dimen/button_small_size" android:minWidth="@dimen/button_small_size" android:maxHeight="@dimen/button_small_size" android:maxWidth="@dimen/button_small_size" android:text="@string/text_edit" android:layout_centerVertical="true"></Button> 
</RelativeLayout> 
</LinearLayout> 

回答

3

为什么不只是使用表格布局?这可能会更容易设计,因为您正在讨论列和行。相对的问题是,如果你不希望发生这种情况,那么使用x行和y列的表格布局将会更容易。

除此之外,使用表格布局允许您在特定列中进行特定的归零或使特定元素消耗多个列。

1

我在创建主屏幕小部件时遇到过类似情况。由于小部件选项有限,因此无法使用TableLayout。我回到了以下翻译成您的情况的东西:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="horizontal" > 

<LinearLayout 
    android:id="@+id/RelativeLayout_class1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="right" 
    android:orientation="vertical" 
    android:visibility="visible" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="short" > 
    </TextView> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="shrt" > 
    </TextView> 

    <TextView 
     android:id="@+id/TextView_class1_room" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="quite a bit longer" > 
    </TextView> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:visibility="visible" > 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="button 1" > 
    </Button> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="button 2" > 
    </Button> 
</LinearLayout> 

</LinearLayout>