提问人:Kfir Arnesty 提问时间:10/31/2023 最后编辑:Peter MortensenKfir Arnesty 更新时间:11/3/2023 访问量:46
该应用程序在我的手机上呈现不同,而在模拟器上看起来不错 [重复]
The app is rendering diffrent on my phone while looking fine on the emulator [duplicate]
问:
我在 Android Studio 中创建了一个应用,手机上的 UI 与模拟器上的 UI 不同。我检查了许多与我的手机类似的不同模拟器,它们的 UI 看起来不错。这两个示例如下:
这是模拟器。 模拟器尺寸为 6.4(1800 像素 x 2400 像素),420 DPI,Google Pixel 3a XL,API 34。
这是我的手机。 我的手机尺寸为 6.7 (1800 像素 x 2400 像素) 345 DPI Redmi Note 9 Pro.
我是否做错了什么,导致模拟器和真实设备之间的结果不相等?
代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical">
<TextView
android:id="@+id/tvInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="40sp"
android:text="@string/No_information"
android:paddingHorizontal="100sp"
android:textSize="15sp"
android:layout_marginTop="100sp"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25sp"
android:gravity="center_horizontal">
<TextView
android:id="@+id/Num1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/question_mark"
android:textSize="55sp"
android:layout_marginTop="10sp"/>
<ImageView
android:id="@+id/Compare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icons8_question_mark_100"
android:contentDescription="@string/question_mark"
android:layout_marginLeft="25sp"
android:layout_marginRight="25sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Num2"
android:text="@string/question_mark"
android:textSize="55sp"
android:layout_marginTop="10sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_marginTop="25sp">
<ImageView
android:id="@+id/less_than_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icons8_less_than_100"
android:contentDescription="@string/less_than_pic"
android:onClick="userChoose"/>
<ImageView
android:id="@+id/equal_to_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icons8_equal_sign_100"
android:contentDescription="@string/equal_to"
android:layout_marginRight="30sp"
android:layout_marginLeft="30sp"
android:onClick="userChoose"/>
<ImageView
android:id="@+id/more_than_pic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icons8_more_than_100"
android:contentDescription="@string/more_than"
android:onClick="userChoose"/>
</LinearLayout>
<Button
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bNext"
android:text="@string/next_numbers"
android:backgroundTint="#87CEFA"
android:background="@drawable/rectangle"
android:layout_marginTop="10sp"
android:onClick="makeNumbers"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30sp"
android:layout_marginTop="10sp">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb1"
android:text="@string/_9_to_9"
android:onClick="makeRange"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb2"
android:text="@string/_99_to_99"
android:onClick="makeRange"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/rb3"
android:text="@string/_999_to_999"
android:onClick="makeRange"/>
</RadioGroup>
<View
android:layout_width="100sp"
android:layout_height="match_parent"></View>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/bold"
android:id="@+id/checkBold"
android:onClick="toggleBold"
android:layout_marginTop="10sp"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/color"
android:id="@+id/checkColor"
android:onClick="toggleColors"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="20sp"
android:paddingTop="10sp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/timeswon"
android:text="You Were Right 0 Times"
android:textSize="15sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/timeslost"
android:text="You Were Wrong 0 Times"
android:layout_marginStart="35sp"
android:textSize="15sp"/>
</LinearLayout>
</LinearLayout>
答:
0赞
V-master
10/31/2023
#1
您的手机似乎已设置为使用从右到左书写的文本(如阿拉伯语)的区域设置。
以下是其他有很好答案的问题: 如何在 Android 中的布局上覆盖 RTL 支持
基本上,您可以在任何视图上设置强制布局文本/子视图的方向,也可以在清单的 application 标签中禁用 RTL 支持。android:layoutDirection="ltr"
评论