约束布局中的滚动条不起作用

时间:2019-04-23 11:02:22

标签: android xml

我尝试了下面的代码,但是当我旋转应用程序时它不会滚动,它将覆盖屏幕的大部分内容,但是我需要在那儿滚动它在那儿不起作用。在约束布局中使用滚动视图是否正确?我已经看到了这种类型的例子。在那里它处于工作状态,我尝试了以下代码,但是当我旋转应用程序时它不会滚动,它将覆盖屏幕的大部分内容,但是我需要滚动到那里无法正常工作。在约束布局中使用滚动视图是否正确?我已经看到了这种类型的例子。在那里它处于工作状态,我尝试了以下代码,但是当我旋转应用程序时它不会滚动,它将覆盖屏幕的大部分内容,但是我需要滚动到那里无法正常工作。在约束布局中使用滚动视图是否正确?我已经看到了这种类型的例子。那里处于工作状态

<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<include layout="@layout/tool_bar" />

<ScrollView
    android:id="@+id/scrollView2"
    android:layout_width="match_parent"
    android:layout_height="611dp"
    android:layout_marginTop="70dp"
    android:scrollbars="none"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="0dp"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="2">

            <ImageView
                android:id="@+id/main_bmi"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/bmi" />

            <ImageView
                android:id="@+id/bmr"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/bmr" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            android:weightSum="2">

            <ImageView
                android:id="@+id/ideal_weight"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/ideal" />

            <ImageView
                android:id="@+id/water_intake"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/water" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            android:weightSum="2">

            <ImageView
                android:id="@+id/calorie"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/calories" />

            <ImageView
                android:id="@+id/nutrition"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:src="@drawable/nutrition" />
        </LinearLayout>
    </LinearLayout>

</ScrollView>

</android.support.constraint.ConstraintLayout>

2 个答案:

答案 0 :(得分:0)

在此层之后可能会起作用。将appbarlayout放在ConstraintLayout布局内

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <!--add your scrollview or nestedscrollview here-->


    </LinearLayout>
</android.support.design.widget.AppBarLayout>

答案 1 :(得分:0)

您的ScrollView高度固定为611dp。

如果使用固定大小,则内容应大于611dp才能滚动。

您应该使用

<ScrollView
    android:id="@+id/scrollView2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    ....>