当前位置: 代码迷 >> Android >> android2.2怎么实现横竖屏变换时调用两个不同的xml布局
  详细解决方案

android2.2怎么实现横竖屏变换时调用两个不同的xml布局

热度:236   发布时间:2016-05-01 13:24:51.0
android2.2如何实现横竖屏变换时调用两个不同的xml布局
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切换时是否重启,如果不重启(对用户来说透明),你那有资源也是白搭
------解决方案--------------------
探讨

是#3,
是Android的设计哲学,但别扯上什么面向过程还是别的

还有一个设置(忘了那个了),Portrait/Landscape切换时是否重启,如果不重启(对用户来说透明),你那有资源也是白搭

------解决方案--------------------
方法内部总还是过程的,对象的交互过程从时间轴上看就是过程,看划分的粒度。
看问题要先看什么立场,什么角度

多说了,
------解决方案--------------------
探讨

方法内部总还是过程的,对象的交互过程从时间轴上看就是过程,看划分的粒度。
看问题要先看什么立场,什么角度

多说了,

------解决方案--------------------
在res目录下新建立两个文件夹:layout-port和layout-land.
把横屏的xml放到layout-land里,把竖屏的放到layout-port里,取一样的名字。