1

我在 Android 中开发的应用程序中遇到了一些问题:

我们正在创建一个支持多个屏幕的应用程序,从三星 Galaxy Ace 到三星 Galaxy Tab 2 10.1,支持小、中、大和超大屏幕,但不知何故,Android 不尊重我的 layout-xxxx 文件夹。在 Eclipse 可视化布局编辑器中,当我更改屏幕时,它会将我移动到正确的文件夹,以表示该布局。但是,在 Android、Emulator 或 Real Device 中,其文件夹中的 Layouts 的显示方式不正确。我的文件夹结构就像在 Android Developer 中提到的那样: res/layout-xxxx res/values-xxxx

我还读到自 Android Honeycomb 以来,发生了一些变化,small、large、xlarge 限定符变得不受欢迎。所以我们使用 layout-swdp 创建了文件夹,我们认为这将是具有蜂窝 + 的设备的解决方案。但是,很快我们就意识到这行不通。那么,有没有确切的方法来做到这一点?为了让Android尊重或强制,这些文件夹?此外,在 Android 2.2 中使用 Dimens 时,应用程序无法启动。它告诉我们没有维度 0x01。先感谢您。

4

2 回答 2

1

就个人而言,我会为每个布局使用屏幕像素密度 (dpi)。

那是:

ldpi: Low-density screens; approximately 120dpi. 
mdpi: Medium-density (on traditional HVGA) screens; approximately 160dpi. 
hdpi: High-density screens; approximately 240dpi. 
xhdpi: Extra high-density screens; approximately 320dpi. 
Added in API Level 8

请参阅http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

于 2013-09-06T19:52:03.360 回答
0

该文件夹应为:

values> 标准手机屏幕

values-sw600dp> 7" 手机/平板电脑屏幕

values-sw720dp> 10" 平板电脑

您必须<dimen name="myvariable"></dimen>在这些文件夹中的 XML 文件中初始化并在您的 XML 中调用。

例子:

<Button
android:id="@+id/btnHome"
android:layout_width="@dimen/myvariable"
android:layout_height="@dimen/myvariable"
android:text=""
android:background="@drawable/homebutton" />

它会根据屏幕大小调整大小。

我正在开发我的应用程序,以确保所有三个屏幕的大小相同。

于 2013-09-06T19:54:59.020 回答