Как заставить макет реагировать только на одну страницу - PullRequest
0 голосов
/ 29 октября 2019

Я хочу, чтобы моя раскладка отображала элементы, реагирующие на все виды смартфонов. Я работаю над Android Studio 3.5

Я хочу, чтобы мое приложение отображалось так на всех устройствах (макет только в одном представлении) enter image description here

Но на некоторых устройствахс меньшим экраном мой такой же макет выглядит следующим образом:

enter image description here

Как заставить мой макет и все мои элементы видеть на одной странице, как мое первое изображениеи избегать? Я не хочу никакого вида прокрутки, я просто объединяю все свои элементы в одном представлении.

Спасибо.

Мой layout.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="Fragments.InicioFragment">

    <LinearLayout
        android:layout_marginTop="10dp"
        android:layout_gravity=""
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:padding="10dp"
        android:orientation="vertical">
        <ScrollView
            android:background="@drawable/border_black_radius"
            android:layout_width="match_parent"
            android:layout_height="160dp"
            android:scrollbars="vertical"
            android:fillViewport="true">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/contenido_seccion1"
                    android:textAlignment="center"
                    android:text="@string/prueba"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textSize="@dimen/font_m"/>
            </LinearLayout>


        </ScrollView>

        <androidx.recyclerview.widget.RecyclerView

            android:id="@+id/temas_recycler"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="200dp">

        </androidx.recyclerview.widget.RecyclerView>

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/resumen_recycler"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="200dp">

        </androidx.recyclerview.widget.RecyclerView>

    </LinearLayout>

    <!-- TODO: Update blank fragment layout -->


</FrameLayout>

1 Ответ

0 голосов
/ 29 октября 2019

Вы можете использовать ConstraintLayout

Макет ограничения работает с соотношениями экрана и (почти) всегда будет представлять ваш макет одинаково.

Также попробуйтеиспользуйте DP, когда вы можете, и попробуйте создать ресурс измерения. XML для каждой плотности экрана.

Проверьте это тоже: https://developer.android.com/training/multiscreen/screendensities

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