如何在横向模式和纵向模式之间使用2种不同的背景

时间:2011-04-05 21:39:23

标签: android

我有一个Android应用程序,我想知道我是否可以为横向和纵向模式设置1个布局(1个布局xml文件)。但我想为每种模式设置不同的背景?那可能吗?我需要2 xml文件指向不同的背景图像吗?或者我可以使用1 xml文件实现我想要的效果吗?

谢谢。

2 个答案:

答案 0 :(得分:19)

我通过创建 drawable-land-hdpi 文件夹并将我的风景背景复制到其中来实现了相同的目标。

我不想更改我的代码,我只有一个XML布局文件和两个不同的background.jpg图像在两个文件夹 drawable-land-hdpi drawable-hdpi

答案 1 :(得分:10)

如果您愿意使用代码来完成此操作,您可以尝试插入类似

的内容
View view = (View) findViewById(R.id.background_carrying_view);
int orientation = getResources().getConfiguration().orientation;
if(orientation == Configuration.ORIENTATION_LANDSCAPE) {
    view.setBackgroundResource (R.drawable.background_land);
} else {
    view.setBackgroundResource (R.drawable.background_port);
}

进入onCreate()和/或onConfigurationChange()。

使用此方法,您将对横向和纵向使用相同的布局。