Android Honeycomb:布局问题 - 隐藏/显示FrameLayouts

时间:2011-08-31 07:44:03

标签: android layout android-3.0-honeycomb android-fragments

Layout 1                            Layout2

BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   
BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   
BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   
BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   
BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   
BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   
BBBBBBBBAAAAAAAAAAAAAAAAAAAAAAA     AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA   

我的2个片段的初始布局就像图片(Layout1)

在linearlayout中有2个framelayout,它们在运行时被填充 碎片。

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <FrameLayout android:id="@+id/frame_fragment"
            android:layout_weight="1" android:layout_width="0px"
            android:layout_height="fill_parent" />

        <FrameLayout android:id="@+id/frame_map"
            android:layout_weight="3" android:layout_width="0px"
            android:paddingLeft="2dip"
            android:layout_height="fill_parent">
            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:id="@+id/screen" android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:orientation="vertical">
            </RelativeLayout>
        </FrameLayout>

</LinearLayout>

我想在布局1&lt; - &gt;之间切换布局2。

目前这样实现:

 FragmentTransaction transaction = getSupportFragmentManager()
            .beginTransaction();
    transaction.setCustomAnimations(android.R.anim.fade_in,
            android.R.anim.fade_out);

    Fragment fragment = getSupportFragmentManager().findFragmentById(id);
    if (fragment.isHidden()) {
        transaction.show(fragment);
    } else {
        transaction.hide(fragment);
    }

    transaction.commit();

隐藏/显示作品 - 但不会将剩余的片段/ framelayout调整为全屏(A)

如何让剩余的片段填满整个屏幕区域? 我是否有其他布局或者我必须强制(如何?)重新布局?

thx for any input

1 个答案:

答案 0 :(得分:0)

如何使用这样的参数?

ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);