该应用程序在我的手机上呈现不同,而在模拟器上看起来很好

问题描述 投票:0回答:2

我在 android studio 上创建了一个应用程序,手机上的 ui 与模拟器上的 ui 不同。我检查了许多与我的手机相似的不同模拟器,它们的用户界面看起来不错。两个示例如下: here the emulator模拟器尺寸为6.4(1800x2400) 420dpi Pixel 3a XL API 34

here my phone 我的手机尺寸是 6.7(1800x2400) 345dpi 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>
android layout android-emulator android-linearlayout
2个回答
0
投票

您的手机似乎设置为使用从右到左书写的文本的区域设置(如阿拉伯语)

这是另一个有很好答案的问题 如何在 Android 布局上覆盖 RTL 支持

基本上,您可以在任何您想要强制方向布局文本/子视图的视图上设置

android:layoutDirection="ltr"
,或者您可以在清单中禁用应用程序标记上的RTL支持


0
投票

非常感谢,成功了

© www.soinside.com 2019 - 2024. All rights reserved.