Как добавить ScrollView внутри макета ограничений при разном качестве экрана? - PullRequest
0 голосов
/ 29 мая 2020

Я создаю проект в android studio, и это мой xml:

<?xml version="1.0" encoding="utf-8"?>

<!-- tools:ignore="LabelFor" quita el warining Missing accessibility label-->
<androidx.constraintlayout.widget.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">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/DescripcionDia"
        android:layout_width="413dp"
        android:layout_height="50dp"
        app:layout_constraintBottom_toTopOf="@+id/scrollView2"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="This is a random  text "
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/ContenedorTexto"
        android:layout_width="371dp"
        android:layout_height="119dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.6"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.949">

        <EditText

            android:id="@+id/TextoDescriptivo"
            android:layout_width="351dp"
            android:layout_height="96dp"
            android:autofillHints=""
            android:ems="10"
            android:inputType="textPersonName"
            android:text="@string/asdadsfasdf_nasdfasdfasd_asdfasdfasdfasdf_asd_nfasd_fas_dfa_s"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            tools:ignore="LabelFor" />
    </androidx.constraintlayout.widget.ConstraintLayout>

    <ScrollView
        android:id="@+id/scrollView2"
        android:layout_width="361dp"
        android:layout_height="507dp"
        android:layout_marginTop="5dp"
        android:layout_marginBottom="21dp"
        app:layout_constraintBottom_toTopOf="@+id/ContenedorTexto"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/DescripcionDia">

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

            <Button
                android:id="@+id/button70"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/button" />

            <Button
                android:id="@+id/button72"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="BUTTON2" />



             ... [several testing buttons]


            <Button
                android:id="@+id/button65"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/button" />

        </LinearLayout>
    </ScrollView>

</androidx.constraintlayout.widget.ConstraintLayout>

Итак, когда я run мое приложение на виртуальном устройстве, например ... Pixel 3XL, все правильно , программа учитывает фактический дизайн, который я хочу.

enter image description here

But when i do in a device with less screen quality, like nexus 4 i have this :

введите описание изображения здесь

Как видите, здесь есть 3 проблемы:

Первая - макет с text view игнорируется. Второй - раскладка внизу, не соблюдается. И, наконец, третий: scroll view не запускается сразу с первой кнопки, а только с половины.

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

1 Ответ

1 голос
/ 29 мая 2020

Установите ScrollView высоту

android:layout_height="0dp"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...