我有一个带有背景的Android应用程序,但我希望它始终保持竖屏状态。因此,活动可以旋转,只有壁纸不能旋转。这是否可能?
我有一个带有背景的Android应用程序,但我希望它始终保持竖屏状态。因此,活动可以旋转,只有壁纸不能旋转。这是否可能?
你可以通过编写代码或使用原生行为,根据屏幕旋转来选择横向和纵向布局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);
}
}