Android windowBackground随设备转动

时间:2010-11-10 11:15:25

标签: android background

我有一个带背景的Android应用程序,但我想始终保持它的肖像。所以活动可以旋转,只是壁纸不能。这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以通过代码或使用基于屏幕旋转选择横向和纵向布局xml文件的本机行为来执行此操作。

在res /文件夹中,默认情况下您具有布局/文件夹。例如,在这里你可能有main.xml,你的元素的背景设置为@ drawable / background_portrait。

你可以做的是在名为layout-land /的res /文件夹中创建一个新文件夹,在这里你也将有main.xml

在后一种情况下,您应该更新main.xml(在layout-land /中)文件夹,将背景指定为@ drawable / background_landscape。

然后,您可以根据需要自定义每个背景图像。设备将根据当前方向显示main.xml文件。

通过代码 在代码中,在活动的onCreate()方法中,或者通过绑定到方向更改事件,您可以确定当前的方向并更新布局的背景属性。

protected void updateBackground()
{
    if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
    {                   
        //pseudo code
        setBackround(R.drawabl.background_landscape);
    }else{
        setBackround(R.drawabl.background_portrait);
    }
}