2011-02-17 125 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>