我想知道当我在两个方向之间切换时如何实现这一点。我尝试使用margin或centerVertical,但这只会保持在中心而不能调整。
答案 0 :(得分:0)
创建 layout-land 目录并在此目录中设计横向模式设计,对于纵向模式,保持设计与布局目录中的设计相同。这将有助于管理不同设计的风景和肖像。
像这样:
res/layout-land [Landscape Mode]
main.xml
res/layout-port [Portrait Mode ]
main.xml
在Manifest.xml中,将方向配置更改为您的活动标记
android:configChanges="orientation"
现在将xml内容设置为您的活动覆盖onConfigurationChanged方法并设置如下内容:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
setContentView(R.layout.main);//This main.xml is in layout-land folder
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
setContentView(R.layout.main);//This main.xml is in layout folder
}
}