应用适合多种屏幕尺寸.但我知道的一个

Kod*_*211 0 android

我将我的应用程序发布到了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"

    />
Run Code Online (Sandbox Code Playgroud)

    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>
Run Code Online (Sandbox Code Playgroud)

hac*_*bod 7

您应该不将屏幕视为物理屏幕尺寸.布局的关键是屏幕上的dp单位数.

我相信Droid Bionic是一个以hdpi运行的qHD(960x540)屏幕.就dp单位而言,这是640x360dp.相比之下,典型的HVGA(800x480)hdpi为533x320dp.

您显示的布局似乎是用绝对尺寸编写的,用于所有内容.如果你正在做这件事,你就注定要失败.你不能写像有一个真正的屏幕尺寸来统治他们所有.您编写布局的原因是描述您的UI,以便平台可以移动其元素以适应屏幕.试图强迫它成为一个固定的定位系统将导致你与系统作斗争,并最终被埋没在试图支持另一个和屏幕尺寸的另一个变化.

考虑到Galaxy Nexus和其他更新的手机出现了1280x800 xhdpi屏幕,这给你另一个尺寸 - 640x400dp.

  • 您可以从这里开始了解基础知识:http://developer.android.com/training/basics/firstapp/building-ui.html (2认同)