横竖屏布局小技巧

android真机上自由切换横竖屏,在manifest文件activity标签里添加:

android:screenOrientation="sensor" 

"sensor"
有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。

屏幕切换会导致activity重新onCreate,

添加:android:configChanges="orientation" activity就不会onCreate了,可以在这个函数里配置管理,切换屏幕的数据操作

        @Override
	public void onConfigurationChanged(Configuration newConfig) {
		// TODO Auto-generated method stub
		super.onConfigurationChanged(newConfig);
		if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
			
			
		}else if(this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
			
			
		}
		Log.d(TAG, "onConfigurationChanged");
		
	}

如果要让软件在横竖屏之间切换,由于横竖屏的高宽会发生转换,有可能会要求不同的布局。可以通过以下方法来切换布局:

1)在res目录下建立layout-land和layout-port目录,相应的layout文件不变,比如main.xml。layout-land是横屏的layout,layout-port是竖屏的layout,其他的不用管,模拟器会自动寻找。

    在编辑main.xml文件的时候可以选择横屏竖屏来调整布局,做到心中有谱



2)通过this.getResources().getConfiguration().orientation来判断当前是横屏还是竖屏然后来加载相应的xml布局文件。因为当屏幕变为横屏的时候,系统会重新呼叫当前Activity的OnCreate方法,你可以把以下方法放在你的 OnCreate中来检查当前的方向,然后可以让你的SetContentView来载入不同的Layout xml.

第二种方法就不用说了。

参考http://mingzaijun.iteye.com/blog/1261954



你可能感兴趣的:(android,xml,配置管理,layout)