Intereting Posts
Предварительный просмотр Android Studio: этот JVM не поддерживает постоянный тег 15 Очистить выбор ListView SingleChoice Как открыть клавиатуру Android «123» Как я могу загружать изображения из консоли разработчика Google Play Как обрабатывать изменения с оверлея удаленных томов MediaSession? Удаление событий из Календаря, которые не удаляются Android – тестирование по сравнению с производственной версией Android-сообщения – разработка и распространение Как я могу создать локаль с обычным первым днем ​​недели? Android VideoView прекращает потоковое воспроизведение через определенное время Полный пример того, как программно выполнять RotateAnimations? Как программно свернуть приложение для Android? Будет ли обработчик PostDelayed не запускаться, когда процессор спит? «R не может быть разрешено переменной» сразу после создания проекта Android? Не удалось получить TelephonyManager.CALL_STATE_RINGING

Панель навигации Android, охватывающая контент для просмотра

Я не могу остановить панель навигации системы от прикрытия моего контента!

Введите описание изображения здесь

Я прокручиваюсь до самой нижней части recyclerview, но его скрывается за навигационной панелью. Вот мой 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/root" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <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"> <include layout="@layout/toolbar"/> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:fitsSystemWindows="true" android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> <com.melnykov.fab.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|right" android:layout_margin="16dp" app:fab_colorNormal="@color/accent" app:fab_colorPressed="@color/accent_dark" /> 

Вот фрагмент фрагментов, который вы видите на картинке.

 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="8dp"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="vertical"/> </FrameLayout> 

Ive попытался добавить android: fitsSystemWindows = "true" в каждую часть макета, которую я мог бы, но это не сработало. В других разделах упоминается добавление маржи, вычисленной из бара, но это не похоже на правильное решение. Я захватил этот макет непосредственно из приложения CheesSquare от Google, используя приложение appbarlayout, и он выглядит как его работающий.

Solutions Collecting From Web of "Панель навигации Android, охватывающая контент для просмотра"

Корневой вид фрагмента Viewpager должен быть RecyclerView или NestedScrollView . FrameLayout не поддерживает прокручивание поведения CoordinatorLayout и поэтому он не работает.

Как вы можете исправить макет фрагмента viewpager: не FrameLayout RecyclerView внутри FrameLayout . Вместо этого объявите RecyclerView в корне. Вы также можете установить padding="8dp" на RecyclerView , просто используйте android:clipToPadding="false" .

Я понял. В моей конкретной ситуации каждый из моих фрагментов управляет собственным экземпляром панели инструментов. Я вызывал setSupportActionBar () в методе onViewCreated () на своих фрагментах. Перемещение этой функции в onCreateView () решило ее.

  @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_my_account, container, false); setupToolbar((Toolbar) view.findViewById(R.id.toolbar)); return view; } private void setupToolbar(Toolbar toolbar) { toolbarController.registerToolbar(toolbar); toolbarController.setActivityTitle("My Account"); } 

(RegisterToolbar () вызывает setSupportActionBar () внутри хостинга).

Надеюсь, это поможет всем!

Проблема заключается в использовании AppBarLayout . CoordinatorLayout был представлен как мощный FrameLayout который приносит приятную анимацию, основанную на определенных Behaviors . Если мы хотим добавить какую-то анимацию scroll , такую ​​как collapsing toolbar и т. Д., Тогда мы должны обернуть Toolbar AppBarLayout , но когда мы захотим разместить статический контент внутри CoordinatorLayout , например ViewPager в вашем случае, T нужно использовать AppBarLayout вообще:

activity_main.xml:

 <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" tools:context="com.mydemoci.MainActivity"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay"/> <include layout="@layout/content_main"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" 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> 

content_main.xml:

 <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" android:background="#A1D490" // Remember CoordinatorLayout is a kind of FrameLayout, // so we have to provide top margin to make Toolbar visible android:layout_marginTop="?attr/actionBarSize" tools:context="com.mydemoci.MainActivity" tools:showIn="@layout/activity_main"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:background="@color/colorAccent" android:text="Hello World" android:textSize="30sp"/> </RelativeLayout> 

Попробуйте заменить свою зависимость от градиента

 com.android.support:recyclerview-v7:22.0.+ 

с

 com.android.support:recyclerview-v7:22.2.0 

или

 com.android.support:recyclerview-v7:+ 

(Не уверен, что это правильная нотация)