Java 滚动视图布局将底部导航栏推出视图之外

Java 滚动视图布局将底部导航栏推出视图之外,java,android,android-layout,Java,Android,Android Layout,直奔目标。我想有一个底部导航栏为我的应用程序,然后在顶部有一个工具栏,在中间将是一个滚动视图的内容将被放置。 现在的问题是ScrollView布局将导航栏推出视图之外,而现在导航栏将不显示 我尝试过另一种解决方案,但结果是在ScrollView顶部弹出了导航栏 [内载内容] 到目前为止,我只能将Scrollview的高度强制到某个dp,以便为导航栏腾出空间,但肯定还有另一种方式我想不到 您最好使用相对布局或约束布局(我建议使用约束布局)来处理此类情况 我已将您的布局修改为约束布局。 我已

直奔目标。我想有一个底部导航栏为我的应用程序,然后在顶部有一个工具栏,在中间将是一个滚动视图的内容将被放置。 现在的问题是ScrollView布局将导航栏推出视图之外,而现在导航栏将不显示

我尝试过另一种解决方案,但结果是在ScrollView顶部弹出了导航栏


[内载内容]

到目前为止,我只能将Scrollview的高度强制到某个dp,以便为导航栏腾出空间,但肯定还有另一种方式我想不到

您最好使用相对布局约束布局(我建议使用约束布局)来处理此类情况

我已将您的布局修改为约束布局。 我已经将scrollbar的marginBottom值设为bottomNavigationBar的高度[否则,scrollView的一些内容仍保留在bottomNavigationBar后面]


您好,此解决方案运行良好,但我想知道您为什么从使用linearlayout改为使用constraint或relative?与其他布局相比有许多优点:*在视图中有更多的控制。*更少的嵌套布局。*编写更少的代码。(大部分工作可以在布局编辑器中完成。)还有更多。。。只需浏览一些教程,您肯定会发现它更简单(看起来很复杂)。如果答案有效,就接受它;P
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="polytechnic.temasek.bluebeatsmusicapplication.HomePageActivity">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="70dp"
    android:background="@drawable/bluebeatsbackground2">

    <TextView
        android:id="@+id/toolbartitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Home"
        android:textColor="@android:color/white"
        android:textSize="32sp"
        android:textStyle="bold" />
</android.support.v7.widget.Toolbar>


<ScrollView
        android:layout_width="match_parent"
        android:layout_height="539dp"
    >

        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            tools:layout_editor_absoluteX="8dp"
            tools:layout_editor_absoluteY="0dp">

            [Content inside] 
            </android.support.constraint.ConstraintLayout>

    </ScrollView>

<android.support.design.widget.BottomNavigationView
    android:id="@+id/the_bottom_navigation"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_gravity="bottom"
    android:background="@color/colorPrimary"
    app:itemBackground="@color/colorPrimary">
    </android.support.design.widget.BottomNavigationView>
</LinearLayout>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="#000"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/toolbartitle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Home"
            android:textColor="@android:color/white"
            android:textSize="32sp"
            android:textStyle="bold" />

    </android.support.v7.widget.Toolbar>

    <ScrollView
        android:id="@+id/scrollView2"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_marginBottom="50dp"
        android:layout_marginTop="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar">

        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent">

            <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="@string/long_text"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintLeft_toLeftOf="parent"
                app:layout_constraintRight_toRightOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

        </android.support.constraint.ConstraintLayout>
    </ScrollView>

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/the_bottom_navigation"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_gravity="bottom"
        android:background="@color/colorPrimary"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent">

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


</android.support.constraint.ConstraintLayout>