我有一个带背景的Android应用程序,但我想始终保持它的肖像。所以活动可以旋转,只是壁纸不能。这可能吗?
答案 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);
}
}