Я боролся с этим часами в поисках решения на Google и StackOverflow. Я подумал, что это какая-то тривиальная ошибка в моем приложении, но в итоге сделал пустой проект и может воспроизвести это тоже. Просто запустите новый проект и выберите «Действия с вкладками» со стилем навигации «Вкладки панели действий (с ViewPager)
Затем попробуйте поместить любой виджет внизу макета фрагмента. Я сделал это, изменив фрагмент_основной.xml и добавив:
android:layout_height="match_parent"
android:gravity="bottom"
android:textAlignment="center"
Итак, весь макет:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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/constraintLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity$PlaceholderFragment">
<TextView
android:id="@+id/section_label"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:gravity="bottom"
android:text="aaaaaaa"
android:textAlignment="center"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="@+id/constraintLayout"
tools:layout_constraintLeft_creator="1"
tools:layout_constraintTop_creator="1" />
</android.support.constraint.ConstraintLayout>
В режиме конструктора все выглядит нормально:
Но когда вы запускаете приложение:
Вы увидите текст, только когда вы проведете пальцем по панели действий, чтобы скрыть его:
Так что невозможно установить виджет в нижней части фрагмента вкладки или даже сопоставить какой-либо список / изображение с высотой родительского элемента, потому что нижний край всегда будет находиться под панелью навигации.
Обходной путь, который я нашел здесь:
ViewPager с панелью инструментов и TabLayout имеет неправильную высоту
Сначала нужно поместить AppBarLayout
и ViewPager
между LinearLayout
, но затем я теряю функциональность скрытой панели действий при прокрутке содержимого ViewPager. Во-вторых, добавьте android:paddingBottom="?attr/actionBarSize"
в ViewPager
, но при скрытии панели действий появляется пробел. Серьезно, для этого нет решения?