0

我将我的应用程序发布到了 Play 商店。适合 SGSII Epic 4.5"、LG Optimus V 3.2"、LG Optimus Black 4.0"、Evo shift 3.6" mytouch 4g 3.8",但不适合 droid bionic 4.3"。有谁知道为什么不适合屏幕?屏幕尺寸为 4.3 英寸,但该应用程序仅在 4.3 英寸屏幕上占用 3.6 英寸屏幕的空间。此外,三星在向一侧倾斜时会注入 4g,它会尝试进入横向模式,我将其设置为 android:screenOrientation清单中的 =“肖像”

这是我的主要 xml

android:layout_width="320dp"

android:layout_height="485dp"

android:orientation="vertical"

android:padding="15dp"

android:background="@drawable/graybkg"



 >

<Button
    android:id="@+id/national"

    android:layout_width="300dp"

    android:layout_height="120dp"

    android:layout_gravity="center"

    android:background="@drawable/custtomnatbut"

     />



<Button
    android:id="@+id/yorgeys"

    android:layout_width="300dp"

    android:layout_height="120dp"

    android:layout_gravity="center"

    android:background="@drawable/custtomyorgeys"

    />

    android:layout_width="300dp"

    android:layout_height="60dp"

    android:layout_gravity="center"

    android:background="@drawable/custtomfoursq"

    />




<LinearLayout 
    android:layout_width="300dp"

    android:layout_height="60dp"

    android:layout_gravity="center"
    >


<Button
    android:id="@+id/facebook"

    android:layout_width="150dp"

    android:layout_height="60dp"

    android:background="@drawable/custtomface"

    />



<Button

    android:id="@+id/website"

    android:layout_width="150dp"

    android:layout_height="60dp"

    android:background="@drawable/custtom_web"

     />
</LinearLayout>

4

1 回答 1

7

您真的不应该将屏幕视为物理屏幕尺寸。对于布局而言,重要的是屏幕上 dp 单位的数量。

我相信 Droid Bionic 是在 hdpi 上运行的 qHD (960x540) 屏幕。就 dp 单位而言,这是 640x360dp。将此与 533x320dp 的典型 HVGA (800x480) hdpi 进行比较。

您显示的布局似乎是用插入所有内容的绝对大小编写的。如果这就是你正在做的事情,那么你注定要失败。你不能像有一个真正的屏幕尺寸来统治他们一样写作。您编写布局的原因是为了描述您的 UI,以便平台可以移动其元素以适应屏幕。试图强迫它成为一个固定的定位系统将导致你与系统发生冲突,并最终被埋没在试图支持另一个又一个屏幕尺寸变化的过程中。

考虑到 Galaxy Nexus 和其他新推出的手机都是 1280x800 xhdpi 屏幕,这为您提供了另一种尺寸——640x400dp。

于 2012-05-14T22:07:25.657 回答