我将我的应用程序发布到了Play商店。适合SGSII Epic 4.5“,LG Optimus V 3.2”,LG Optimus Black 4.0“,Evo移动3.6”mytouch 4g 3.8“,但它不适合droid bionic 4.3”。有谁知道为什么它不适合屏幕?屏幕尺寸为4.3英寸,但应用程序仅占用4.3英寸屏幕上3.6英寸屏幕的空间。当三星向侧面倾斜时,它会尝试进入横向模式,并且我将它设置为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>
答案 0 :(得分:7)
您真的不应该将屏幕视为物理屏幕尺寸。布局的重点是屏幕上的dp单位数。
我相信Droid Bionic是以hdpi运行的qHD(960x540)屏幕。就dp单位而言,这是640x360dp。相比之下,典型的HVGA(800x480)hdpi为533x320dp。
您显示的布局似乎是用绝对尺寸插入来写的。如果你正在做这件事,你就注定要失败。你不能写像有一个真正的屏幕尺寸来统治他们所有。您编写布局的原因是描述您的UI,以便平台可以移动其元素以适应屏幕。试图强迫它成为一个固定的定位系统会导致你与系统作斗争,并最终被埋没在试图支持另一个和屏幕尺寸的另一个变化。
考虑到Galaxy Nexus和其他更新的手机出现了1280x800 xhdpi屏幕,这给你的另一个尺寸 - 640x400dp。