按钮文字更改方向或包裹

时间:2015-04-24 11:37:06

标签: android android-fragments

我有一项活动,我创建了2个或更多碎片。 当活动最初加载并显示第一个片段时,一切都显示正常,如下图所示。

Buttons display good

如果我然后执行替换片段,则按钮文本将变为奇怪的布局,如下图所示。 Buttons display bad

我的活动布局xml;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context="package.android.incabandroid.ActivityJavas.PalletStatusActivity">

    <TextView android:id="@+id/lblpodstats" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:layout_centerHorizontal="true"
        android:text="TextView" />

    <TableLayout android:id="@+id/butLinLayout"
        android:layout_width="match_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" android:orientation="horizontal">
        <TableRow>
            <Button android:id="@+id/btnApplyToAll" style="?android:attr/buttonStyleSmall"
                android:layout_width="0dp" android:layout_height="wrap_content"
                android:layout_weight="1" android:text="Select for all" />

            <Button android:id="@+id/btnViewTc" style="?android:attr/buttonStyleSmall"
                android:layout_width="0dp" android:layout_height="wrap_content"
                android:layout_weight="1" android:text="View TnC's" />
        </TableRow>

        <TableRow>
            <Button android:id="@+id/btnPodStatBack" android:layout_width="0dp"
                android:layout_height="wrap_content" android:layout_weight="1"
                android:text="Back" />
            <Button android:id="@+id/btnPodStatNext" android:layout_width="0dp"
                android:layout_height="wrap_content" android:layout_gravity="right"
                android:layout_weight="1" android:text="Next" />
        </TableRow>
    </TableLayout>
    <ScrollView android:id="@+id/scrollStatsList"
        android:layout_width="match_parent" android:layout_height="wrap_content"
        android:layout_below="@id/lblpodstats" android:layout_above="@id/butLinLayout">

        <LinearLayout android:id="@+id/palletStatusLinLayout"
            android:layout_width="match_parent" android:layout_height="wrap_content"
            android:orientation="vertical">
        </LinearLayout>
    </ScrollView>


</RelativeLayout>

我所做的就是用新片段替换palletStatusLinLayout。 如果我在其中一个按钮上执行setText,当它们显示怪异时,按钮会更改并正确显示,与第一张按钮相同。

任何帮助都得到了很多赞赏,谢谢。

1 个答案:

答案 0 :(得分:1)

尝试使用LinearLayouts而不是TableLayout,我总是这样做。

将TableLayout替换为:

<LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"> </LinearLayout>

和TableRow for a:

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