#java #android #xml #android-toolbar #android-appbarlayout
Вопрос:
Я хотел бы вставить изображение(синий ImageView) в свою панель приложений между панелью инструментов и таблицей. При прокрутке вверх всегда должны отображаться таблица и панель инструментов. Изображение должно отображаться только при прокрутке до верхней части страницы. Однако у меня проблема в том, что изображение всегда блокирует или загораживает верхнюю панель инструментов. У кого-нибудь есть идеи, как решить эту проблему?
Код:
<androidx.coordinatorlayout.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:orientation="vertical"
tools:context=".Site.MainPage">
<com.google.android.material.appbar.AppBarLayout
android:id="@ id/mainPage_appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
android:id="@ id/mainPage_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/UpperToolbarBackground"
app:layout_scrollFlags="scroll|enterAlways">
<TextView
android:id="@ id/mainPage_toolbar_title"
style="@style/TextAppearance.AppCompat.Widget.ActionToolBar.Title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Test"
android:textColor="@color/UpperToolbarText" />
</androidx.appcompat.widget.Toolbar>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll">
<ImageView
android:id="@ id/mainPage_profile_picture"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/blue_700"
app:layout_constraintDimensionRatio="1:1"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.google.android.material.tabs.TabLayout
android:id="@ id/mainPage_tabLayout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_margin="0dp"
app:layout_scrollFlags="noScroll"
app:tabMode="auto" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:id="@ id/mainPage_nestedScrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
app:layout_constraintTop_toBottomOf="@id/mainPage_appBar">
<androidx.viewpager2.widget.ViewPager2
android:id="@ id/mainPage_viewPager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:nestedScrollingEnabled="true" />
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
Примеры Изображений:
Как это происходит:
Начать
Прокрутите вниз
Прокрутите немного вверх (вот в чем проблема)
Как это должно быть:
Комментарии:
1. В вашем случае на пейджере просмотра также есть содержимое с прокруткой?
2. ДА. В данном случае(для тестирования) это текстовое представление в вложенном виде.
Ответ №1:
Взгляните на эту панель приложений Material Design.
Я думаю, что вы пытаетесь создать видную верхнюю панель приложений, а также хотите использовать изображение в панели.
В статье объясняется почти все. Но на случай, если у вас возникнут какие-либо проблемы, спрашивайте.
Комментарии:
1. Я попробовал еще раз с помощью CollapsingToolbarLayout, но это тоже не сработало. К сожалению, я не нашел свою проблему по ссылке :/