博客导航

Android横屏显示

方案一:AndroidManifest.xml中配置里面设置
设置activity的android:screenOrientation属性。
“unspecified”:默认值 由系统来判断显示方向.判定的策略是和设备相关的,所以不同的设备会有不同的显示方向.
“landscape”:横屏显示(宽比高要长)
“portrait”:竖屏显示(高比宽要长)
“user”:用户当前首选的方向
“behind”:和该Activity下面的那个Activity的方向一致(在Activity堆栈中的)
“sensor”:有物理的感应器来决定。如果用户旋转设备这屏幕会横竖屏切换。根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activity都更着变化,会重启activity(无论系统是否设置为自动转屏,activity页面都会跟随传感器而转屏)
“nosensor”:忽略物理感应器,这样就不会随着用户旋转设备而更改了("unspecified"设置除外)。旋转设备时候,界面不会跟着旋转。初始化界面方向由系统控制(无论系统是否设置为自动转屏,activity页面都不会转屏)
sensorLandscape,横屏旋转,就是可以上下旋转,有两个方向,不会重启activity
sensorPortrait,竖屏旋转,就是可以上下旋转,有两个方向,不会重启activity
reverseLandscape,与正常的横向方向相反显示(反向横屏)
reversePortrait,与正常的纵向方向相反显示(反向竖屏)

方案二:代码设置
activity里面在setContentView()方法之前设置
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);它会调至默认的横屏方向。

if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}

全屏显示

方案一:代码设置
activity里面的onCreate()里面设置

        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,  WindowManager.LayoutParams.FLAG_FULLSCREEN);

加强版

private void hideStatusNavigationBar(){      if(Build.VERSION.SDK_INT<16){          this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                  WindowManager.LayoutParams.FLAG_FULLSCREEN);      }else{          int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN                  | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION                  | View.SYSTEM_UI_FLAG_FULLSCREEN //hide statusBar                  | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; //hide navigationBar          getWindow().getDecorView().setSystemUiVisibility(uiFlags);      }  }private void hideNavigationBar() {      View decorView = getWindow().getDecorView();      int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION              | View.SYSTEM_UI_FLAG_FULLSCREEN;      decorView.setSystemUiVisibility(uiOptions);  }    private void showNavigationBar() {      View decorView = getWindow().getDecorView();      int uiOptions = View.SYSTEM_UI_FLAG_VISIBLE;      decorView.setSystemUiVisibility(uiOptions);  }private void setSystemUIVisible(boolean show) {      if (show) {          int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE;          uiFlags |= 0x00001000;          getWindow().getDecorView().setSystemUiVisibility(uiFlags);      } else {          int uiFlags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE                  | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION                  | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN                  | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION                  | View.SYSTEM_UI_FLAG_FULLSCREEN;          uiFlags |= 0x00001000;          getWindow().getDecorView().setSystemUiVisibility(uiFlags);      }  }

Attr Des
SYSTEM_UI_FLAG_VISIBLE 显示状态栏和导航栏
SYSTEM_UI_FLAG_LOW_PROFILE 此模式下,状态栏的图标可能是暗的
SYSTEM_UI_FLAG_HIDE_NAVIGATION 隐藏导航栏
SYSTEM_UI_FLAG_FULLSCREEN 全屏,隐藏状态栏和导航栏
SYSTEM_UI_FLAG_LAYOUT_STABLE
SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 全屏,隐藏导航栏,状态栏浮在布局上
SYSTEM_UI_FLAG_IMMERSIVE 沉浸式:半透明的状态栏和导航栏
SYSTEM_UI_FLAG_IMMERSIVE_STICKY 粘性沉浸式

方案二:AndroidManifest.xml中配置里面设置

<activity            android:name="MyActivity"            android:screenOrientation="landscape"            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>

更多相关文章

  1. Android之TextView属性列表
  2. Android(安卓)TextView使用HTML处理字体样式、显示图片等
  3. android-edittext
  4. Android(安卓)TextView、EditText显示表情
  5. 在定制android设备时,刷机后不全屏显示或实现长按Home键current a
  6. Android(安卓)ListView滑动过程中图片显示重复错乱闪烁问题解决
  7. android:ellipsize
  8. 【Android】Android(安卓)UI显示原理
  9. android:layout_weight属性详解

随机推荐

  1. Android开发之旅:深入分析布局文件
  2. Android多点触摸测试类
  3. Android情景模式、文件管理器 完整示例编
  4. Android sdk content loader 0% - mac
  5. Android二维码识别研究
  6. Mac下修改Android(安卓)Studio的默认JDK
  7. Android(安卓)简单动画中SurfaceView 的
  8. Android中带分割线的九宫格
  9. android的详解
  10. Android中的Context理解