如何将滚动视图仅添加到main_activity中的LinearLayout而不是整个视图?

问题描述 投票:0回答:1

我只是想将滚动条添加到我的线性布局中,这是我在 main_activity.xml 中拥有的许多视图之一。然而,每次我这样做都会破坏我的整个 main_activity 设置。我查遍了整个互联网和 Stackoverflow,并尝试遵循他们的建议、解决方案和答案,但我仍然无法让它发挥作用。

这是我的整个 main_activity.xml。寻找指向 LinearLayout 的一堆小于符号。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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:padding="4dp"
tools:context="com.example.myapp.MainActivity">

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button
        android:id="@+id/homeBtn"
        android:layout_width="131dp"
        android:layout_height="55dp"
        android:backgroundTint="#2196F3"
        android:text="Home"
        android:textSize="16sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.25" />

    <Button
        android:id="@+id/logoutBtn"
        android:layout_width="131dp"
        android:layout_height="55dp"
        android:backgroundTint="#2196F3"
        android:text="Logout"
        android:textSize="16sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.25" />

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="268dp"
        android:layout_height="111dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.496"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.091"
        app:srcCompat="@drawable/logo" />

    <Button
        android:id="@+id/hloginBtn"
        android:layout_width="131dp"
        android:layout_height="55dp"
        android:backgroundTint="#2196F3"
        android:text="Login"
        android:textSize="16sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.25" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="390dp"
        android:layout_height="40dp"
        android:text="Moisture Dashboard"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/imageView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/lineChart"
        android:layout_width="401dp"
        android:layout_height="203dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="1.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/llayout" />

    <LinearLayout  <<<<<<<<<<This is the ONLY LinearLayout I want to add scrollview or bar to NOT the whole main_activity.
        android:id="@+id/llayout"
        android:layout_width="399dp"
        android:layout_height="110dp"
        android:layout_marginTop="1dp"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/hloginBtn" />

    <TableLayout
        android:id="@+id/sensorTable"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:isScrollContainer="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/lineChart">

        <TableRow>

            <TextView
                android:layout_width="75dp"
                android:layout_column="0"
                android:layout_weight="1"
                android:text="Id"
                android:textSize="20sp"
                android:textStyle="bold" />

            <TextView
                android:layout_width="75dp"
                android:layout_column="0"
                android:layout_weight="1"
                android:text="Sensor"
                android:textSize="20sp"
                android:textStyle="bold" />

            <TextView
                android:layout_width="75dp"
                android:layout_column="1"
                android:layout_weight="1"
                android:text="Reading"
                android:textSize="20sp"
                android:textStyle="bold" />
        </TableRow>
    </TableLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>
android android-activity layout scrollview android-linearlayout
1个回答
0
投票

您可以将 LinearLayout 包装在 HorizontalScrollView 中,例如作为 LinearLayout 中带有一些 TextView 的静态布局:

<HorizontalScrollView
    android:id="@+id/llayout"
    android:layout_width="match_parent"
    android:layout_height="110dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/hloginBtn">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_marginTop="1dp"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="One"
            android:textSize="90sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Two"
            android:textSize="90sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Three"
            android:textSize="90sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Four"
            android:textSize="90sp"/>

    </LinearLayout>
</HorizontalScrollView>
© www.soinside.com 2019 - 2024. All rights reserved.