0

在我的Android應用程序中,我將Sherlock片段替換爲另一個Sherlock片段。 (可以說從B A)我用下面的代碼了這種更換Android片段佈局問題

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> 

,但是當我運行程序它顯示的佈局向左偏移這樣 enter image description here

這是我用於鋪陳乙代碼:

<?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> 

那麼我怎樣才能讓它正確地顯示在屏幕上的佈局? 謝謝

+1

刪除佈局中的'android:layout_alignParentLeft =「true」'行 – GrIsHu

+0

這是因爲我們已將android:layout_marginLeft和android:layout_marginTop設置爲您的FrameLayout .. – bakriOnFire

回答

1

問題是因爲您在您的FrameLayout中留下了保證金。只要刪除這條線android:layout_marginLeft="114dp"也刪除保證金頂部android:layout_marginTop="69dp"這留下額外的空間。

+0

是的,解決了這個問題,非常感謝答案和另一個問題,當我向佈局A添加按鈕時,即使我將其替換爲佈局B,按鈕也會出現在佈局B的編輯文本之上。如何解決此問題? – Grant

+0

你可以發佈你的替換佈局B的代碼嗎?我猜這個問題可能是因爲佈局A仍然駐留在那裏。您可能不會清除片段。 – GrIsHu

+0

感謝您的回覆,我剛剛解決了。 – Grant