setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//设置为竖屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//设置为横屏
if(getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)//若为竖屏
if(getRequestedOrientation()==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)//若为横屏
AndroidManifest.XML中<activity设置,默认显示方式:
android:screenOrientation="landscape"横屏显示
android:screenOrientation="portrait"竖屏显示
PS:因为在横竖屏切换时会使一些数据重置,所有需要将变量设置为static
双击响应横、竖屏切换代码:
public int count = 0; public static int count1 = 0;//横竖屏切换回重置数据 public double []sj = {0.0,0.0}; Button ma = (Button)findViewById(R.id.button1); ma.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { count++; if(count == 1) { if(sj[0] == 0) { sj[0] = System.currentTimeMillis(); } else { sj[1] = System.currentTimeMillis(); if(sj[1] - sj[0] < 1000) { //双击事件 count1++; if(count1%2 == 0) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//设置为竖屏 else if(count1%2 == 1) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } count = 0; sj[0] = sj[1]; sj[1] = 0; } } else if (count == 2) { sj[1] = System.currentTimeMillis(); if(sj[1] - sj[0] < 1000) { //双击事件 count1++; if(count1%2 == 0) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//设置为竖屏 else if(count1%2 == 1) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); } count = 0; sj[0] = sj[1]; sj[1] = 0; } } });