Android背景基于屏幕尺寸

时间:2012-12-13 09:52:59

标签: android android-layout

我正在创建一个Android应用程序,并希望为手机大小的屏幕和平板电脑大小的不同背景图像。我已经为不同的分辨率(mdpihdpi等)提供了不同的分辨率图像。挑战在于大多数平板电脑都使用mdpi,但有些手机也可能会使用它。

我尝试过做一些研究,但似乎只能在布局中定义屏幕尺寸,例如res/layout/layout-large。这是否意味着我必须为平板电脑创建一个单独的xml,并链接到@drawable/tablet-background?或者是否有其他解决方案,xml或programmatic?

2 个答案:

答案 0 :(得分:3)

mdpi hpdi 等是指屏幕密度,它独立于平板电脑或手机设备。如果我理解正确,你要做的是为平板电脑和手机使用不同的背景图像。 有三种方式:

  1. 使用 layout-large,layout-xlarge 文件夹为平板电脑和手机的xml布局创建xml布局
  2. layout layout-large 文件夹中使用相同的xml布局(元素ID除外),并使用以下内容以编程方式更改背景:

    public boolean isTablet(){
        return (findViewById(R.id.tablet_view) != null); 
    }
    

    其中,tablet_view是仅在 layout-large xml布局中显示的元素ID。

  3. 另一招:Determine if the device is a smartphone or tablet?

答案 1 :(得分:2)

  

并希望手机大小的屏幕和背景图像不同   平板电脑大小的

尝试使用所需的屏幕大小限定drawable文件夹以及目标设备的密度值,例如drawable-large-mdpi。屏幕尺寸必须首先基于configuration qualifiers table