基于设备大小的布局

时间:2013-06-04 09:38:23

标签: android android-layout android-emulator android-screen-support android-screen

我现在很困惑。我尝试制作不同的图像并将它们放在适当的文件夹(xhdpi,ldpi)中,但我的应用程序不适用于2.7“到10”的每种设备类型。所以我决定针对不同的屏幕尺寸制作不同的布局。我从这段代码中获得了以英寸为单位的设备尺寸 -

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
double x = Math.pow(dm.widthPixels/dm.xdpi,2);
double y = Math.pow(dm.heightPixels/dm.ydpi,2);
double screenInches = Math.sqrt(x+y);
Log.d("debug","Screen inches : " + screenInches);

现在所有我想要的就是如果设备大小是大约可以说2.7“我的应用程序开始使用自定义文件夹中的布局。这可能吗?

1 个答案:

答案 0 :(得分:0)

您可以在具有不同限定符的布局文件中的小部件上包含标记,并在运行时检查这些标记。

layout-large/layout1.xml:
     <Button
    android:id="@+id/btn1"
    ...
    android:tag="large" />

layout-small/layout1.xml:
     <Button
    android:id="@+id/btn1"
    ...
    android:tag="small" />

在运行时检查它们:

findViewById(R.id.btn1).getTag().toString()