2016-03-04 31 views
5

sto aggiungendo un frammento all'attività, e quindi sto sostituendo quel frammento con la seconda fragment.After sostituendo la seconda barra azione frammento è leggermente muove giù come questo enter image description herebarra delle azioni che si abbassa durante la sostituzione con frammento

il mio codice di attività

public class MyActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.meetinglist_activity); 
    Fragment first_fragment = new FirstFragment(); 
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
    ft.add(R.id.content_frame, first_fragment).commit(); 
    } 

Sostituzione secondo frammento nel tasto del primo frammento clic

public class Firstfragment extends Fragment { 


FloatingActionButton new_fab; 

@Nullable 
@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View list_view=inflater.inflate(R.layout.meetingslist_fragment,container,false); 
    new_fab=(FloatingActionButton)list_view.findViewById(R.id.meeting_new); 
    new_fab.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      Fragment second_fragment = new SecondFragment(); 
      FragmentTransaction ft =getActivity().getSupportFragmentManager().beginTransaction(); 
      ft.replace(R.id.content_frame, second_fragment).commit(); 
    } 

attività di layout

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<FrameLayout 
    android:id="@+id/content_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"></FrameLayout> 
    </LinearLayout> 

XML Fragment

<!--First Layout--> 
<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true"> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/meeting_new" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="bottom|end" 
    android:layout_margin="@dimen/fab_margin" 
    android:src="@android:drawable/ic_dialog_email" /> 

    </android.support.design.widget.CoordinatorLayout> 


<!--Second Layout--> 

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="Large Text" 
    android:gravity="center" 
    android:id="@+id/textView" 
    android:layout_gravity="center_horizontal" /> 
    </LinearLayout> 

Sto usando android.support.v4.app.Fragment;

Sto utilizzando Android Studio versione 2.0 e ultimi livelli API.

Qualcuno può aiutarmi? Grazie in anticipo.

+1

il tuo frammento xml ?? – Pitty

+0

mi è stato aggiunto il mio xml –

+1

potrebbe succedere Bcoz .. hai incluso il layout di Coordinate solo in Primo frammento ,,, metti il ​​layout di coordinate in Attività in modo che funzioni allo stesso modo per entrambi Frammento –

risposta

3

Si verifica un problema Layout di coordinate Bcoz solo nel primo frammento Disporre il layout di coordinate nel secondo frammento in modo che funzioni lo stesso per entrambi i layout.

0

Suppongo che per risolvere tutti i problemi relativi alla barra delle azioni si dovrebbe utilizzare la barra degli strumenti che è nuova sostituzione della vecchia barra di azione di Google. È possibile trovare il tutorial sull'implementazione della barra degli strumenti alla fine del collegamento: http://javatechig.com/android/android-lollipop-toolbar-example

+0

Ho già provato –

2

Basta cambiare questa linea

Android: fitsSystemWindows = "true"

a

android: fitsSystemWindows = "false"

Sono sicuro che il tuo problema sarà risolto

+0

Mi ha aiutato, grazie! –