2017-10-10 6 views
0

Je suis en train d'essayer de faire une conversation. MainActivity a ToolBar et BottomNavigationVIew.Android BottomNavigationVIew contenu de fragment de chevauchement

Le chat en fragment a une recyclerView, un editText et ImageButton, mais quand je charge le fragment du BottomNavigationVIew chevauche la EditText et la ImageButton

Je ne sais pas si cela est important, mais dans Android studio l'élément de BottomNavigationVIew regards plus petite qu'elle ne l'est pas par exemple comme le ToolBar aussi j'utilise android:layout_above="@+id/navigation" et cela ne fonctionne pas enter image description here

enter image description here

J'ai essayé plusieurs façons, mais je ne peux pas le faire

activity_main.xml

<RelativeLayout 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:id="@+id/activity_home" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context=".MainActivity"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 

      <TextView 
       android:id="@+id/tv_parent_name" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:layout_weight="1" 
       android:text="@string/parent_name" 
       android:textSize="20sp" /> 


      <de.hdodenhof.circleimageview.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:id="@+id/student_photo" 
       android:layout_width="55dp" 
       android:layout_height="55dp" 
       android:layout_alignParentEnd="true" 

       android:layout_alignParentRight="true" 
       android:layout_gravity="right|center" 
       android:onClick="onClick" 
       android:padding="4dp" 
       android:src="@drawable/foto" 
       app:civ_border_color="@color/iron" 
       app:civ_border_width="1dp" /> 

     </LinearLayout> 

    </android.support.v7.widget.Toolbar> 


    <FrameLayout 
     android:id="@+id/frame_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_alignParentTop="true" 
     android:layout_above="@+id/navigation"> 

     <ProgressBar 
      android:id="@+id/pb_loading" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:visibility="invisible" /> 
    </FrameLayout> 

</LinearLayout> 

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/navigation" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:background="@color/primary_dark" 
    app:itemIconTint="@color/nav_item_state_list" 
    app:itemTextColor="@color/nav_item_state_list" 
    app:menu="@menu/menu_navigation" /> 
</RelativeLayout> 

chat_fragment.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<android.support.v7.widget.RecyclerView 
    android:id="@+id/messages" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:scrollbars="vertical" 
    android:scrollbarStyle="outsideOverlay"/> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:orientation="horizontal" 
    android:gravity="center_vertical"> 

    <EditText 
     android:id="@+id/message_input" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:hint="@string/prompt_message" 
     android:imeActionId="@+id/send" 
     android:imeActionLabel="@string/action_send" 
     android:imeOptions="actionSend" 
     android:inputType="text" 
     android:maxLines="1"/> 
    <ImageButton 
     android:id="@+id/send_button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@android:drawable/ic_menu_send" 
     android:contentDescription="@string/action_send"/> 

</LinearLayout> 

</LinearLayout> 

fragment.java

   FragmentManager fragmentManager = getFragmentManager(); 
      FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
      fragmentManager.popBackStackImmediate(); 
      fragmentTransaction.replace(R.id.frame_layout, chat); 
      fragmentTransaction.addToBackStack(null); 
      fragmentTransaction.commit(); 

Répondre

1

Dans votre activity_main.xml, faites votre mise en page de racine LinearLayout avec l'orientation définie sur la verticale. Supprimez le LinearLayout directement à l'intérieur de la disposition racine. Et définir la configuration de la hauteur de largeur suivant pour votre FrameLayout:

android:layout_width="match_parent" 
android:layout_height="0dp" 
android:layout_weight="1" 

Enfin, enlever tous les trucs align..., parce qu'ils ne travaillent pas à l'intérieur LinearLayout.

0

Vous devez déplacez votre FrameLa Code yout de LinearLayout (je veux dire après LinearLayout), et vous devez ajouter ce code à votre image:

android:layout_above="@+id/navigation"