zoukankan      html  css  js  c++  java
  • Android屏幕和摄像头

    一 AndroidManifest.xml文件设置

    1.默认情况下屏幕旋转时会重建Activity调用onCreate

    可以给对应的activity添加设置

    android:configChanges="orientation|screenSize"//单独设置orientation可能无效

    设置后屏幕变化时不会生重建Activity,同时会调用onConfigurationChanged

     @Override
        public void onConfigurationChanged(Configuration newConfig) {
            //newConfig.orientation;//获取屏幕横竖状态
            //Configuration.ORIENTATION_LANDSCAPE//2 横
            //Configuration.ORIENTATION_PORTRAIT//1 竖
            super.onConfigurationChanged(newConfig);
        }
    

    2.强制固定Activity显示方向,无视机器自动旋转功能

     android:screenOrientation="landscape"//横

     android:screenOrientation="portrait"//竖

    screenOrientation共有7中可选值(常量定义在 android.content.pm.ActivityInfo类中 ) :

    landscape:横屏(风景照) ,显示时宽度大于高度;
    portrait:竖屏 (肖像照) , 显示时 高 度大于 宽 度 ;
    user:用户当前的首选方向;
    behind:继承Activity堆栈中当前Activity下面的那个Activity的方向;
    sensor:由物理感应器决定显示方向,它取决于用户如何持有设备,当 设备 被旋转时方向会随之变化——在横屏与竖屏之间;
    nosensor:忽略物理感应器——即显示方向与物理感应器无关,不管用户如何旋转设备显示方向都不会随着改变("unspecified"设置除外);
    unspecified :未指定,此为默认值,由Android系统自己选择适当的方向,选择策略视具体设备的配置情况而定,因此不同的设备会有不同的方向选择;

    二 写代码调用函数
    1.强制固定Activity显示方向 (跟设置android:screenOrientation效果相同)

    在Activity调用setRequestedOrientation函数

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//竖


    2.强制开启屏幕旋转 = =#
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);

    3.判断屏幕角度
        WindowManager manager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
        Display display = manager.getDefaultDisplay();
    
        display.getRotation();
        switch (display.getRotation()){
          case Surface.ROTATION_0://0
            break;
          case Surface.ROTATION_90://1
            break;
          case Surface.ROTATION_180://2
          case Surface.ROTATION_270://3
            break;
        }
    
    
    

      

    屏幕和后置摄像头的方向不一至,如果用到Preview的话需要用setDisplayOrientation调用下角度

     
  • 相关阅读:
    Taro、小程序使用定位服务
    Taro项目中设置了设计稿尺寸为375,taro-ui的样式会被放大
    Taro 页面返回携带参数
    Taro + TS 项目取别名配置 alias
    安卓APP 错误:net::ERR_CLEARTEXT_NOT_PERMITTED解决方法
    Springboot定时发送邮件,并附带Excel文件和PDF文件
    通过openssl导入证书到系统证书目录解决安卓7以上系统无法抓包问题
    CentOS 7 安装配置SVN服务器
    解决安装 Docker 慢:使用国内阿里云镜像加速安装
    Redis实战篇(四)基于GEO实现查找附近的人功能
  • 原文地址:https://www.cnblogs.com/Grart/p/6531702.html
Copyright © 2011-2022 走看看