Android:如果一行中没有足够的空间,如何将两个TextView放在不同的行中

时间:2012-04-08 23:17:42

标签: android user-interface textview

我正在尝试组织两个TextView来表现:

Example

因此,如果两个TextView都有足够的空间,那么android应该将它们排成一行。

如果没有足够的空间,则必须将第二个TextView放在右对齐的下一行。

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

        <TextView
            android:id="@+id/takeoffCity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/flightItem" />

        <TextView
            android:id="@+id/landingCity"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/flightItem" />
    </LinearLayout>

<style name="flightItem" parent="@android:style/TextAppearance">
    <item name="android:textSize">14dip</item>
    <item name="android:textColor">@color/flightItemFont</item>
    <item name="android:scrollHorizontally">true</item>
    <item name="android:textStyle">bold</item>
</style>

1 个答案:

答案 0 :(得分:0)

要完成您要找的内容,您可以将布局更改为RelativeLayout并将android:layout_alignParentLeft="true"添加到TextViews但是,这不会不要将这些TextViews设置为动态操作。意思是如果它们可以并排放置,那么它们应该是直线的,但是底部TextView仍然会向右对齐。

我不认为你在寻找什么是技术上可行的。然而,这可能是一个很好的选择:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/takeoffCity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        style="@style/flightItem" />

    <TextView
        android:id="@+id/landingCity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        style="@style/flightItem" />

</RelativeLayout>