【问题标题】:GridLayout look strange on a real Device and perfect on emulatorGridLayout 在真实设备上看起来很奇怪,在模拟器上看起来很完美
【发布时间】:2019-09-24 01:09:28
【问题描述】:

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

“模拟器布局”

但是当我在华为荣耀 4C (Android 6.0) 上安装该应用程序时,它看起来很搞笑。 《华为荣耀4c》

最低SdkVersion:21 目标SDK版本: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>

可能的原因是什么?

【问题讨论】:

  • targetSdkVersion 是什么
  • targetSdkVersion 为 28。
  • 你有什么解决办法吗?我也面临同样的问题

标签: android android-layout android-emulator


【解决方案1】:

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

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

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

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

如果它有效,请给我一个大拇指..继续编码:)

【讨论】:

  • 您是否在其他手机上登记了
  • 不,我没有在其他手机上查看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-23
  • 1970-01-01
  • 1970-01-01
  • 2013-02-24
  • 2022-12-18
  • 1970-01-01
  • 2020-03-03
相关资源
最近更新 更多