GridLayout在实际设备上看起来很奇怪,而在模拟器上则很完美

时间:2019-05-06 11:40:49

标签: android android-layout android-emulator

我在android中设计了一个基本的计算器。 在设计时,我在Emulator Pixel XL设备(API 28,屏幕分辨率1440x2560 560dpi)上对其进行了测试,并且运行良好。

https://i.imgur.com/iURX7cd.png “仿真器布局”

但是当我在Huawei Honor 4C(Android 6.0)中安装该应用程序时,它看起来很有趣。 https://i.imgur.com/ASBtE8y.png “华为荣耀4c”

mindumSdkVersion: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 :(得分:0)

我认为这个明显的问题与属性android:supportsRtl =“ true”和您的设备/仿真器的不同API级别有关。 在清单标签中添加清单

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

如果设置为true且targetSdkVersion设置为17或更高,则为false

在设备中卸载应用并清除项目,然后再次安装到真实设备中。

如果有效,请给我竖起大拇指..继续编码:)