0

Я работаю над кодом, который имеет FrameLayout и пользовательский вид снизу. Я загрузил фрагмент внутри FrameLayout, который имеет CoordinatorLayout с ViewPager внутри.проблема с раскладкой координат при загрузке в frameLayout

Таким образом, проблема ViewPager занимает полную высоту телефона и скрывает содержимое списка позади пользовательского вида. Вот код:

main_layout.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:fitsSystemWindows="true" 
    android:layout_height="match_parent"> 



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


    <TextView 
     android:id="@+id/playerView" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/player_size" 
     android:layout_alignParentBottom="true" 
     android:background="#D7D7D7" 
     android:gravity="center" 
     android:text="Player View" 
     android:textSize="20sp" /> 

</RelativeLayout> 

fragment_view.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/main_content" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 


     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabs_view_tabs" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:layout_collapseMode="pin" 
      android:background="?attr/colorPrimary" 
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 
    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/tabs_view_viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 


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

enter image description here

В картинке вы можете увидеть некоторое содержимое списка скрыта рядом PlayerView.

ответ

0

Попробуйте использовать LinearLayout с layout_weight вместо RelativeLayoutinside main_layout.xml

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

    <FrameLayout 
     android:id="@+id/root_content" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1"/> 

    <TextView 
     android:id="@+id/playerView" 
     android:layout_width="match_parent" 
     android:layout_height="@dimen/player_size" 
     android:background="#D7D7D7" 
     android:gravity="center" 
     android:text="Player View" 
     android:textSize="20sp" /> 

</LinearLayout> 
+0

я просто попробовал ваш код ... не работает для меня, до сих пор, что содержание скрыт, как в картинке ...: | –

+0

Попробуйте удалить этот android: fitsSystemWindows = "true" свойства и дайте мне знать. –

+0

То же самое задание ... –

Смежные вопросы