2016-05-16 13 views
1

Ich möchte Fragment Layout-Taste klicken Sie auf Aktivität. Wenn ich dies tue, wird es erfolgreich zu dem Fragment umgeleitet, aber das Fragmentlayout überlappt mit dem Aktivitätslayout. Bitte hilf mir.laden Fragment von Activity Layouts überlappend

Dies ist meine Aktivität Layout

<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"/> 

Das ist mein Fragment Layout

<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"/> 

Das ThreeFragment Fragment und in Aktivität innerhalb Taste erstreckt klicken dies ist, wie ich Laden Sie das Fragment. Es treten keine Fehler auf, nur die Ansichten überlappen sich.

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

Set Hintergrund zu den Layouts wird es den Trick für Sie tun –

+0

ich versucht habe, aber nicht das, was ich will, ich will ganz die Aktivität Layout ersetzen von Fragment –

+0

@SiluniUpeksha Dann ersetzen Sie verwenden stattdessen während Fragment Transaktion hinzuzufügen. –

Antwort

2

try Hintergrund auf Ihrem Fragment zu setzen:

<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"/> 

oder klar andere Fragment vor dem Hinzufügen neuer:

fragmentManager.popBackStack(); 
+0

Es funktioniert, aber ich möchte Hintergrund in weiß setzen, wenn ich dunkle Farbe setzen funktioniert –

+0

@SiluniUpeksha können Sie einige Screenshot hinzufügen, damit ich sehen kann, was sich überschneidet . oder probiere 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

Nein, es funktioniert nicht Ich möchte das gesamte Fragment Layout py ersetzen es mit Aktivitätslayout –

+0

Ich habe versucht, aber nicht, was ich will Ich will das Aktivitätslayout vollständig aus Fragment das Fragment Layout unter Aktivitätslayout zeigen, das ist nicht was ich will –

+0

siehe meine aktualisierte Antwort –

0

Ersetzen Sie den Code mit diesem:

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

Was ist der Unterschied, der es dann OP enthält? –

+0

fragmentTransaction.replace (R.id.fragment_container, Fragment – Krupa

+0

nicht hinzufügen, sondern ersetzen. – Krupa

0

Wenn Sie möchten, dass das Fragment das Aktivitätslayout vollständig ausblendet, ziehen Sie die Verwendung von DialogFragment in Betracht.

Überprüfen Sie auch die ausgezeichnete cliff notes zu wissen, wie das Dialogfeld Vollbild zu machen.

Dabei handelte es sich im Wesentlichen vor:

  1. von DialogFragment leite Ihre Fragment Klasse.
  2. Zeige Fragment als Dialog von Ihrer Aktivität.
  3. Stellen Sie sicher, dass das Dialogfeldfragment als Vollbild formatiert ist.
Verwandte Themen