Последнее нижнее содержимое Scrollview, скрытое нижним навигационным представлением

#java #xml #android-layout #kotlin

#java #xml #android-макет #kotlin

Вопрос:

Привет, программисты, у меня есть макет ограничения, в нем есть нижний навигационный вид, панель инструментов сверху и scrollview, в котором много кнопок, спускающихся по вертикали. Проблема в том, что последние кнопки scrollview скрываются за нижним навигационным представлением после прокрутки до конца как это можно решить в реальном коде в scrollview здесь много кнопок, я добавляю только несколько здесь.

 <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/container"
    android:background="#ffffff"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
<include 
    android:id="@ id/tutorialsinclude"
    layout="@layout/app_bar_main"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    
    />
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toBottomOf="@id/tutorialsinclude"
    android:id="@ id/webtut">

    <LinearLayout
        
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/activity_horizontal_margin"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_marginTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        >
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="web "
            android:id="@ id/tutorialsButton1"/>
        
            <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Tutorials 1 "
            android:id="@ id/tutorialsButton1"/>
    </LinearLayout>
</ScrollView>
      <android.support.design.widget.BottomNavigationView
        android:id="@ id/navigationbb"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="0dp"
        android:layout_marginEnd="0dp"
        android:background="#ffffff"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:menu="@menu/navigation" />

</android.support.constraint.ConstraintLayout>
 

Как вы можете видеть на этом изображении, последняя кнопка скрыта нижним навигационным представлением, и я не могу прокручивать дальше, чтобы открыть кнопку

Ответ №1:

Вы можете просто поместить нижний колонтитул в конец, чтобы исправить эту проблему. Просто сделайте View под последней кнопкой. Что-то вроде этого:

  <View android:layout_width="match_parent"
       android:layout_height="32dp" />
 

Вам просто нужно отрегулировать высоту, чтобы она работала для вашего макета. Кроме того, вам действительно не следует вручную помещать все эти кнопки в scrollView . вместо этого следует использовать a RecyclerView .

Комментарии:

1. Лучший ответ для меня, поскольку я использую scrollview, и это только для фрагмента, я не могу получить ограничения макета активности из фрагмента и не хочу. Все другие вещи, такие как add layout_behavior, не сработали. Проще всего было добавить немного места …!

Ответ №2:

Установите ограничение в нижней части scrollview в верхней части нижнего навигационного представления и установите высоту как 0dp, что сделает высоту соответствующей ограничению

 <ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    app:layout_constraintTop_toBottomOf="@id/tutorialsinclude"

    app:layout_constraintBottom_toTopOf="@id/navigationbb"

    android:id="@ id/webtut">
 

Комментарии:

1. Большое вам спасибо, я объединил ваш ответ и ответ @ Yasan, мой макет получился идеальным