GridLayout выглядит странно на реальном устройстве и идеально подходит на эмуляторе - PullRequest
0 голосов
/ 06 мая 2019

Я разработал базовый калькулятор в Android. В процессе разработки я протестировал его на устройстве Emulator Pixel XL (API 28, разрешение экрана 1440x2560 560 точек на дюйм) и работал нормально.

https://i.imgur.com/iURX7cd.png "Эмулятор Layout"

Но когда я установил приложение в Huawei Honor 4C (Android 6.0), это выглядело смешно. https://i.imgur.com/ASBtE8y.png "Huawei Honor 4c"

минимум SDK Версия: 21 targetSdkVersion: 28 Код моего дизайна:

<LinearLayout 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:orientation="vertical"
    android:background="#ffeeeeee"
    tools:context=".MainActivity" >


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffffff">

        <TextView
            android:id="@+id/display"
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:ems="10"
            android:textSize="30sp"
            android:gravity="end|bottom"
            />

    </LinearLayout>


    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_margin="20dp"
        android:columnCount="4"
        android:rowCount="5">

        <Button
            android:id="@+id/btnClear"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="0"
            android:layout_rowWeight="1"
            android:layout_column="0"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:text="C" />

        <Button
            android:id="@+id/btnDivid"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="0"
            android:layout_rowWeight="1"
            android:layout_column="1"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:text="/" />

        <Button
            android:id="@+id/btnMultiplication"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="0"
            android:layout_rowWeight="1"
            android:layout_column="2"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:text="X" />

        <Button
            android:id="@+id/btnDelete"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="0"
            android:layout_rowWeight="1"
            android:layout_column="3"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:text="Delete" />

        <Button
            android:id="@+id/btn7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_rowWeight="1"
            android:layout_column="0"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="7"
            android:text="7" />

        <Button
            android:id="@+id/btn8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_rowWeight="1"
            android:layout_column="1"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="8"
            android:text="8" />

        <Button
            android:id="@+id/btn9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_rowWeight="1"
            android:layout_column="2"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="9"
            android:text="9" />

        <Button
            android:id="@+id/btnMinus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="1"
            android:layout_rowWeight="1"
            android:layout_column="3"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:text="-" />

        <Button
            android:id="@+id/btn4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="2"
            android:layout_rowWeight="1"
            android:layout_column="0"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="4"
            android:text="4" />

        <Button
            android:id="@+id/btn5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="2"
            android:layout_rowWeight="1"
            android:layout_column="1"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="5"
            android:text="5" />

        <Button
            android:id="@+id/btn6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="2"
            android:layout_rowWeight="1"
            android:layout_column="2"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="6"
            android:text="6" />

        <Button
            android:id="@+id/btnPlus"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="2"
            android:layout_rowWeight="1"
            android:layout_column="3"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:text="+" />

        <Button
            android:id="@+id/btn1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="3"
            android:layout_rowWeight="1"
            android:layout_column="0"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="1"
            android:text="1" />

        <Button
            android:id="@+id/btn2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="3"
            android:layout_rowWeight="1"
            android:layout_column="1"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="2"
            android:text="2" />

        <Button
            android:id="@+id/btn3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="3"
            android:layout_rowWeight="1"
            android:layout_column="2"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="3"
            android:text="3" />

        <Button
            android:id="@+id/btnEqual"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="3"
            android:layout_rowSpan="2"
            android:layout_rowWeight="1"
            android:layout_column="3"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:background="@color/colorPrimaryDark"
            android:onClick="numberClicked"
            android:text="=" />

        <Button
            android:id="@+id/btn0"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="4"
            android:layout_rowWeight="1"
            android:layout_column="0"
            android:layout_columnSpan="2"
            android:layout_columnWeight="1"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="0"
            android:text="0" />

        <Button
            android:id="@+id/btnDot"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_row="4"
            android:layout_rowWeight="1"
            android:layout_column="2"
            android:layout_columnWeight="2"
            android:layout_gravity="fill"
            android:onClick="numberClicked"
            android:tag="."
            android:text="." />


    </GridLayout>

</LinearLayout>

Каковы возможные причины?

1 Ответ

0 голосов
/ 06 мая 2019

Я думаю, что эта очевидная проблема связана с атрибутом android: supportRtl = "true" и различными уровнями API вашего устройства / emualtor. Добавьте в манифест в теге приложения

<application
    android:name=".Application"
    android:supportsRtl="true">

Если установлено значение true, а targetSdkVersion равно 17 или выше, иначе false

Удалите приложение на устройстве и очистите проект, затем снова установите на реальное устройство.

Если это сработает, дай мне большие пальцы .. Продолжайте кодировать :)

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