我有一个带背景的 Android 应用程序,但我想始终保持纵向。所以 Activity 可以旋转,只是墙纸不能。这可能吗?
最佳答案
您可以通过代码或使用如何根据屏幕旋转选择横向和纵向布局 xml 文件的 native 行为来执行此操作。
默认情况下,在 res/文件夹中有 layout/文件夹。例如,在这里,您可能将 main.xml 的元素背景设置为@drawable/background_portrait。
然后您可以做的是在 res/文件夹中创建一个名为 layout-land/的新文件夹,在这里您还将拥有 main.xml
在后一种情况下,您应该更新 main.xml(在 layout-land/中)文件夹以将背景指定为 @drawable/background_landscape。
然后您可以根据需要自定义每个背景图像。设备将根据当前方向显示 main.xml 文件。
通过代码 在代码中,在 Activity 的 onCreate() 方法中或者通过绑定(bind)到方向更改事件,您可以确定当前方向并更新布局的背景属性。
protected void updateBackground()
{
if(getRequestedOrientation() == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
//pseudo code
setBackround(R.drawabl.background_landscape);
}else{
setBackround(R.drawabl.background_portrait);
}
}
关于Android windowBackground随设备转动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4143863/