GridLayout хорошо выглядит в дизайне и эмуляторе, но не на устройстве - PullRequest
0 голосов
/ 17 апреля 2020

У меня странная проблема с GridLayout. По дизайну и эмулятору он работает просто отлично, но при испытании на реальном устройстве все растягивается.

Я пытался скопировать XAML в новый проект, где минимальная версия - API26, но происходит то же самое, хотя иногда это по-разному растягивает изображение. Я проверил это на 3 разных устройствах, и оно одинаково на всех (все устройства были API 26).

Я действительно не знаю, где я испортил, так что если у кого-нибудь есть идея.

Дизайн и эмулятор - Все отлично

Design and Emulator view

Устройство - выглядит как первая кнопка в каждом ряду растягивается

Device

Устройство после копирования и вставки в новый проект (API 26) - выглядит просто как первая кнопка растягивается

enter image description here

Мой XAML

<GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:columnCount="5"
    android:rowCount="7">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_columnWeight="1"
        android:layout_columnSpan="5"
        android:textSize="18sp"
        android:textColor="@android:color/holo_blue_light"
        android:text="Operater"/>

    <Button
        android:id="@+id/orderBtn1"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn2"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"

        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn3"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn4"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/btnOption1"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:text="back"/>


    <Button
        android:id="@+id/orderBtn5"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn6"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn7"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn8"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/btnOption2"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:text="res"/>


    <Button
        android:id="@+id/orderBtn9"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn10"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn11"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn12"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/btnOption3"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:text="last"/>


    <Button
        android:id="@+id/orderBtn13"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn14"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn15"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn16"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/btnOption4"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:text="send"/>


    <Button
        android:id="@+id/orderBtn17"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn18"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn19"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn20"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/btnOption5"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:text="up"/>

    <Button
        android:id="@+id/orderBtn21"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn22"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn23"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/orderBtn24"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:textSize="12sp"
        android:text="B1"/>

    <Button
        android:id="@+id/btnOption6"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="76dp"
        android:layout_height="76dp"
        android:text="down"/>
</GridLayout>

1 Ответ

0 голосов
/ 17 апреля 2020

Внутри кнопки у вас должны быть android:layout_width и android:layout_height, иначе она не будет работать, но этот размер должен быть 0dp, и она будет работать на устройствах, по крайней мере, в моем случае.

<Button
        android:id="@+id/orderBtn1"
        android:layout_columnWeight="1"
        android:layout_rowWeight="1"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:textSize="12sp"
        android:text="B1"/>
...