包装的麻烦

时间:2011-08-03 13:33:19

标签: android xml

我无法按照我希望的方式显示屏幕

下面的代码显示了两行textview 第一行只是一个日期文本视图,下面是3个文本视图,其中包含一些数据。在右侧,我有一个按钮,我希望它跨越两行。

麻烦的是3个textviews可能有数据推入按钮,而不是自动换行,文本在按钮上方或按下按钮离开屏幕

有谁可以帮我解决这个问题

感谢您的时间

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="horizontal"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/border_small">

    <RelativeLayout 
        android:layout_width="wrap_content" 
        android:layout_height="match_parent">
    <!-- single date line -->
        <TextView 
            android:text=" - " 
                android:id="@+id/date"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:textStyle="bold"
            android:textSize="@dimen/font_size_8"
            android:layout_alignParentTop="true">
        </TextView>
    <!-- line under the date having 3 text fields -->
            <TextView 
                android:text=" TEST TEXT TEXT " 
            android:id="@+id/round" 
                android:layout_alignParentLeft="true" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:textColor="@color/text_color_white"
                android:textSize="@dimen/font_size_6"
                android:layout_below="@id/date">
            </TextView>
            <TextView 
                android:text="  -  " 
            android:id="@+id/spacer1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:textColor="@color/text_color_white"
                android:textSize="@dimen/font_size_6"
                android:layout_toRightOf="@id/_round" 
                android:layout_below="@id/date">
            </TextView>
            <TextView 
                android:text=" TEST TEXT TEXT " 
                android:id="@+id/classification" 
                android:layout_toRightOf="@id/spacer1" 
                android:layout_below="@id/date"
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:textColor="@color/text_color_white"
                android:textSize="@dimen/font_size_6">
     </TextView>

    <!-- button is on right hand side and spans both lines -->
            <Button 
                android:text="@string/button_view" 
                android:layout_width="wrap_content" 
                android:id="@+id/button_details" 
                android:layout_alignParentRight="true" 
                android:layout_alignParentTop="true"
                android:textSize="@dimen/font_size_6" 
                android:layout_height="wrap_content">
            </Button>

</RelativeLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

更改RelativeLayout

android:layout_width="match_parent"

答案 1 :(得分:0)

我注意到的一件事是在你的spacer1 TextView中,你有这一行:android:layout_toRightOf="@id/_round"你有一个额外的下划线。不过,这不是你的问题。将您的dateroundspacer1 TextView包裹在相对或线性布局中,并为其添加android:layout_toLeftOf="button_details"属性。应该解决你的问题。

答案 2 :(得分:0)

尝试在需要使用自动换行的文本字段上设置android:layout_toRightOf和android:layout_toLeftOf。因此,您可能会使最右侧的TextView使用此代码:

<TextView 
            android:text=" TEST TEXT TEXT TEST TEXT TEXT TEST TEXT TEXT TEST TEXT TEXT TEST TEXT TEXT " 
            android:id="@+id/classification" 
            android:layout_toRightOf="@+id/spacer1" 
            android:layout_toLeftOf="@+id/button_details"
            android:layout_below="@id/date"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content">
 </TextView>