Android不尊重我的res文件夹

时间:2013-09-06 19:48:11

标签: android eclipse android-layout

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

我们正在创建一个支持多个屏幕的应用程序,从三星Galaxy Ace到三星Galaxy Tab 2 10.1,支持小型,中型,大型和X大屏幕,但是,不知何故Android不尊重我的布局 - xxxx文件夹。在Eclipse可视化布局编辑器中,当我更改屏幕时,它会将我移动到正确的文件夹,以表示该布局。但是,在Android,模拟器或真实设备中,其文件夹中的布局不会以正确的方式显示。 我的文件夹结构类似于Android Developer中提到的那些: RES /布局-XXXX RES /值-XXXX

我还读到,自Android Honeycomb以来,有些事情发生了变化,小型,大型,xlarge限定符变得非常具体。所以我们使用layout-swdp创建了文件夹,我们认为这将是带有蜂窝+的设备的解决方案。但是,很快我们意识到这不起作用。 那么,有没有一个确切的方法来做到这一点?要使Android尊重还是强制,这些文件夹? 此外,在Android 2.2中使用Dimens时,应用程序无法启动。它告诉我没有维度0x01。先谢谢你。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

该文件夹应为:

values>标准手机屏幕

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

values-sw720dp> 10“平板电脑

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

示例:

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

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

我正在处理我的应用,确保所有三个屏幕的大小相同。