0

在我的 android 应用程序中,我正在从另一个 Sherlock 片段中替换 Sherlock 片段。(让我们说 B 中的 A)我使用以下代码进行此替换

   FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
   Fragment fragment = new AddNewRaveFragment();
   ft.replace(R.id.raves_frame, fragment,"NewFragmentTag");
   ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
   ft.addToBackStack(null);
   ft.commit();

布局我用于片段 A

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<FrameLayout
    android:id="@+id/raves_frame"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="114dp"
    android:layout_marginTop="69dp" >
</FrameLayout>


</RelativeLayout>

但是当我运行程序时,它显示布局像这样向左移动 在此处输入图像描述

这是我用于布局 B 的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="#ffffff" >

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <requestFocus />
    </EditText>

</LinearLayout>

那么我怎样才能让它正确地在屏幕上显示布局呢?谢谢

4

1 回答 1

1

问题是因为您的FrameLayout. 只需删除此行,android:layout_marginLeft="114dp"同时删除顶部的边距android:layout_marginTop="69dp",留下额外的空间。

于 2013-11-01T06:20:04.160 回答