android2.2如何实现横竖屏变换时调用两个不同的xml布局,Activity代码相同
------解决方案--------------------
@Override
public void onConfigurationChanged(Configuration newConfig)
{
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
{
setContentView(R.layout.landscape); //布局1
}
else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
{
setContentView(R.layout.portrait); //布局2
}
}
------解决方案--------------------
http://developer.android.com/training/basics/supporting-devices/screens.html
请参照Google推荐的做法,1楼的方法不符合Android的设计哲学, 是一种面向过程的思维方法。
简单说:在你项目的res 文件夹下面加个 layout-land/ 然后再里面放入横屏的布局文件,这样Android会自动帮你切换布局。
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
------解决方案--------------------
是#3,
是Android的设计哲学,但别扯上什么面向过程还是别的
还有一个设置(忘了那个了),Portrait/Landscape切换时是否重启,如果不重启(对用户来说透明),你那有资源也是白搭
------解决方案--------------------
------解决方案--------------------
方法内部总还是过程的,对象的交互过程从时间轴上看就是过程,看划分的粒度。
看问题要先看什么立场,什么角度
多说了,
------解决方案--------------------
------解决方案--------------------
在res目录下新建立两个文件夹:layout-port和layout-land.
把横屏的xml放到layout-land里,把竖屏的放到layout-port里,取一样的名字。