2016-05-16 65 views
1

我想加載片段佈局按鈕點擊活動。當我這樣做時,它成功地重定向到片段,但事情是片段佈局與活動佈局重疊。請幫幫我。從活動佈局重疊的負載片段

這是我的活動佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="info.androidhive.materialtabs.fragments.OneFragment"> 

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="50dp" 
    android:id="@+id/linearLayout7" 
    android:layout_alignTop="@+id/linearLayout6" 
    android:layout_toEndOf="@+id/linearLayout6"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView14" 
     android:layout_marginLeft="25dp" 
     android:layout_marginTop="1dp" 
     android:layout_marginRight="10dp" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView15" 
     android:layout_marginLeft="200dp" /> 
</LinearLayout> 
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/fragment_container" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 

這是我的片段佈局

<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="info.androidhive.materialtabs.fragments.OneFragment"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="three" 
    android:textSize="40dp" 
    android:textStyle="bold" 
    android:id="@+id/Add" 
    android:layout_centerInParent="true"/> 

的ThreeFragment擴展片段,並在內部按鈕活動點擊這是我怎麼加載分數。沒有錯誤發生,唯一的意見是重疊的。

AddPlan.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      FragmentManager fragmentManager = getSupportFragmentManager(); 
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
      Fragment fragment = new FourFragment(); 
      fragmentTransaction.add(R.id.fragment_container, fragment); 
      fragmentTransaction.commit(); 

     } 

    }); 
+0

組後臺的佈局會做的伎倆爲您 –

+0

我都試過,但不是我想要什麼,我想完全取代從片段 –

+0

活動佈局@SiluniUpeksha然後用替換而不是增加,而片段的交易。 –

回答

2

嘗試把背景上的片段:

<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" 
background="#FFFFFF" 
tools:context="info.androidhive.materialtabs.fragments.OneFragment"> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="three" 
    android:textSize="40dp" 
    android:textStyle="bold" 
    android:id="@+id/Add" 
    android:layout_centerInParent="true"/> 

或明確的其他片段添加新前:

fragmentManager.popBackStack(); 
+0

它的工作,但我想設置白色的背景,如果我把它的作品深色 –

+0

@SiluniUpeksha你可以添加一些截圖,所以我可以看到什麼重疊。或嘗試fragmentManager.popBackStack(); – bobijovz

0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="info.androidhive.materialtabs.fragments.OneFragment"> 

<FrameLayout 
    android:id="@+id/fragment_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

<LinearLayout 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="50dp" 
android:id="@+id/linearLayout7" 
android:layout_alignTop="@+id/linearLayout6" 
android:layout_toEndOf="@+id/linearLayout6"> 

    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/textView14" 
    android:layout_marginLeft="25dp" 
    android:layout_marginTop="1dp" 
    android:layout_marginRight="10dp" /> 

    <TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/textView15" 
    android:layout_marginLeft="200dp" /> 
    </LinearLayout> 


</RelativeLayout> 
+0

沒有它的不工作我想顯示整個片段佈局py替換它與活動佈局 –

+0

我已經嘗試過,但不是我想要的我想完全取代活動佈局從片段佈局顯示下面的活動佈局那不是我想要的 –

+0

看到我更新的答案 –

0

這種替換代碼:

 FragmentManager fragmentManager = getSupportFragmentManager(); 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
     Fragment fragment = new FourFragment(); 
     fragmentTransaction.replace(R.id.fragment_container, fragment); 
     fragmentTransaction.commit(); 
+0

它包含哪些區別然後OP? –

+0

fragmentTransaction.replace(R.id.fragment_container,片段 – Krupa

+0

insted添加使用替換.. – Krupa

0

如果您想讓片段完全隱藏活動佈局,請考慮使用DialogFragment

另外檢查了出色的cliff notes知道如何使對話框全屏。

它主要涉及下列步驟操作:

  1. 派生從DialogFragment您的片段類。
  2. 將片段顯示爲來自活動的對話框。
  3. 確保對話框片段的樣式設置爲全屏。