Почему горизонтальное расположение переполняется на телефонах с более высоким разрешением, но подходит для более тонких телефонов - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть приложение с горизонтальным рядом кнопок с изображениями, но я обнаружил, что когда я запускаю его на своем LG G6 (физическом), который является тощим телефоном, тогда кнопки изображения go выключают экран в сторону , Разрешение составляет 2880 x 1440, то есть соотношение 18: 9.

Теперь я ожидал, что моя раскладка будет неправильной для других телефонов, которые более тонкие и имеют более высокое соотношение, как пиксель 3a, но в студии android Предварительный просмотр горизонтального макета идеально вписывается в него. Разрешение на 3a также ниже - 2220 x 1080, а выше - 18,5: 9.

Но почему изображения в моем ряду переполняются на моем LG G6, но не на 3A ?? Меняется ли это, когда я запускаю свое приложение на физическом устройстве вместо эмулятора в android studio? Это не имеет смысла для меня, потому что на 3a меньше пикселей по ширине, но все подходит, когда на G6 этого нет.

Спасибо!

edit: Это мой макет, это в основном кнопка изображения в центре макета ограничения, и справа от него должна быть еще одна кнопка изображения, но она не в макете ограничения.

<LinearLayout
            android:id="@+id/horizontalLayoutBottom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/horizontalLayoutTop">

            <ImageButton
                android:id="@+id/centerPiece"
                android:layout_width="0dp"
                android:layout_height="120dp"
                android:layout_weight="1"
                android:background="@android:color/transparent"
                app:srcCompat="@drawable/centerPiece" />
        </LinearLayout>

    </androidx.constraintlayout.widget.ConstraintLayout> 

    <ImageButton
        android:id="@+id/rightPiece"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="260dp"
        android:layout_marginStart="260dp"
        android:layout_marginLeft="260dp"
        android:background="@android:color/transparent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/inputText"
        app:srcCompat="@drawable/rightPiece" />

Вот как это выглядит на моем G6: enter image description here

И вот что android студия говорит мне, это должно выглядеть так: enter image description here

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