¿Cuál es el método a seguir al diseñar contenido desplazable en Android Studio?

Aaron DCosta:

Estoy diseñando mi aplicación en la restricción de diseño y lo he puesto bajo Scroll View. Quiero colocar más Vistas tarjeta, pero no hay lugar de hacerlo en la vista previa del archivo XML. ¿Por dónde arrastrarlo botones, etc TextViews cuando el diseño está lleno? Me he ocupado de vista de desplazamiento para el texto, pero esto es otra cosa.

Soy consciente de que solo puedo escribir en el código pero va a ser difícil para mí hacer que cuando no voy a ser capaz de ver exactamente qué estoy diseñando y cuando el contenido está fuera del tamaño de la pantalla definida.

(Déjame saber en los comentarios si quieres que publicar capturas de pantalla para una mejor comprensión de la cuestión)

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/images"
    android:fillViewport="true"
    >
<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"
    android:background="@drawable/images"
    tools:context=".MainActivity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical"
        app:layout_constraintBottom_toBottomOf="parent"
        tools:layout_editor_absoluteX="10dp">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clipToPadding="false"
            android:gravity="center"
            android:orientation="horizontal">

            <androidx.cardview.widget.CardView
                android:id="@+id/test_donation"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:clickable="true"
                android:foreground="?android:attr/selectableItemBackground"
                android:padding="0dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#660000"
                    android:gravity="center"
                    android:orientation="vertical">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:background="#660000"
                        android:gravity="center">

                        <ImageView
                            android:layout_width="80dp"
                            android:layout_height="80dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_donate" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="DONATE"
                        android:textColor="#FFEb3b"
                        android:textSize="24sp" />

                </LinearLayout>
            </androidx.cardview.widget.CardView>

            <androidx.cardview.widget.CardView
                android:id="@+id/test_receive"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:clickable="true"
                android:foreground="?android:attr/selectableItemBackground"
                android:padding="0dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#660000"
                    android:gravity="center"
                    android:orientation="vertical">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:background="#660000"
                        android:gravity="center">

                        <ImageView
                            android:layout_width="80dp"
                            android:layout_height="80dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_receive" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="RECEIVE"
                        android:textColor="#FFEb3b"
                        android:textSize="24sp" />

                </LinearLayout>
            </androidx.cardview.widget.CardView>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:clipToPadding="false"
            android:gravity="center"
            android:orientation="horizontal">

            <androidx.cardview.widget.CardView
                android:id="@+id/test_chat"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:clickable="true"
                android:foreground="?android:attr/selectableItemBackground"
                android:padding="0dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#660000"
                    android:gravity="center"
                    android:orientation="vertical">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:background="#660000"
                        android:gravity="center">

                        <ImageView
                            android:layout_width="80dp"
                            android:layout_height="80dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_chat" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="CHAT"
                        android:textColor="#FFEb3b"
                        android:textSize="24sp" />

                </LinearLayout>
            </androidx.cardview.widget.CardView>

            <androidx.cardview.widget.CardView
                android:id="@+id/test_logout"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:clickable="true"
                android:foreground="?android:attr/selectableItemBackground"
                android:padding="0dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="#660000"
                    android:gravity="center"
                    android:orientation="vertical">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:background="#660000"
                        android:gravity="center">

                        <ImageView
                            android:layout_width="80dp"
                            android:layout_height="80dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_logout" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="LOGOUT"
                        android:textColor="#FFEb3b"
                        android:textSize="24sp" />

                </LinearLayout>
            </androidx.cardview.widget.CardView>

        </LinearLayout>
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
Hombre de Acero :

Bueno, supongo que usted no ha intentado sólo tiene que añadir más CardViews (o cualquier otra Views) ... He copiado el código, cantidad multiplicada de CardViews, y funcionó como magia ... esto es lo que funcionó para mí:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true">

    <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">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:orientation="vertical"
            app:layout_constraintBottom_toBottomOf="parent"
            tools:layout_editor_absoluteX="10dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clipToPadding="false"
                android:gravity="center"
                android:orientation="horizontal">

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_donation"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="DONATE"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_receive"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="RECEIVE"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clipToPadding="false"
                android:gravity="center"
                android:orientation="horizontal">

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_chat"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="CHAT"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_logout"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="LOGOUT"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>

            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clipToPadding="false"
                android:gravity="center"
                android:orientation="horizontal">

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_chat_other"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="CHAT"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_other"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="LOGOUT"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </LinearLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:clipToPadding="false"
                android:gravity="center"
                android:orientation="horizontal">

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_chat_other_"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="CHAT"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>

                <androidx.cardview.widget.CardView
                    android:id="@+id/test_other_"
                    android:layout_width="160dp"
                    android:layout_height="190dp"
                    android:layout_margin="10dp"
                    android:clickable="true"
                    android:foreground="?android:attr/selectableItemBackground"
                    android:padding="0dp">

                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:background="#660000"
                        android:gravity="center"
                        android:orientation="vertical">

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="130dp"
                            android:background="#660000"
                            android:gravity="center">

                            <ImageView
                                android:layout_width="80dp"
                                android:layout_height="80dp"
                                android:padding="10dp" />
                        </LinearLayout>

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="LOGOUT"
                            android:textColor="#FFEb3b"
                            android:textSize="24sp" />

                    </LinearLayout>
                </androidx.cardview.widget.CardView>
            </LinearLayout>

        </LinearLayout>
    </androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>

Que es lo mismo como lo hizo, sólo que sin las imágenes porque no tengo el src de ellos, y con cuatro cartas más, que se sale de la pantalla y las fuerzas de ScrollViews de desplazamiento para ser activado ... Si intenta hacerlo en un espacio específico, sin embargo, que sólo debe establecer una altura específica para el ScrollView, y no match_parent. De todos modos, ScrollViewse desplaza sólo cuando tiene qué desplazamiento (por supuesto, usted no tiene que utilizar tarjetas solamente ... se puede añadir nada en el ScrollView, y cuando algo se sale de sus fronteras, su desplazamiento se activa)

¡Espero que ayude!

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=477336&siteId=1
Recomendado
Clasificación