Android窗口背景随设备旋转

3

我有一个带有背景的Android应用程序,但我希望它始终保持竖屏状态。因此,活动可以旋转,只有壁纸不能旋转。这是否可能?

1个回答

1

你可以通过编写代码或使用原生行为,根据屏幕旋转来选择横向和纵向布局xml文件。

默认情况下,在res/文件夹中,您拥有layout/文件夹。例如,您可能在此处拥有main.xml,其中元素的背景设置为@drawable/background_portrait。

然后,您可以在res/文件夹中创建一个名为layout-land/的新文件夹,在其中也将拥有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);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接