zoukankan      html  css  js  c++  java
  • 屏幕旋转 转

    1. 禁止屏幕旋转并横屏:

                       <activity android:name=".ClickReadActivity"
                                android:configChanges="orientation|keyboardHidden" 
                                android:screenOrientation="landscape"> 
                       </activity>

    2. 在 android 中若要通过程序改变屏幕显示的方向,必须覆盖 setRequestedOrientation() 方法,若要获得屏幕显示的方向,则需要调用 getRequestedOrientation() 方法。

             首先需要在 AndroidManifest.xml 中配置 Android:screenOrientation 属性。 ( 通过 getRequestedOrientation() 的值是否为 -1 可以判断是不是添加了该配置 )

                       <activity android:name=".ClickReadActivity" 
                                android:screenOrientation="landscape"> 
                       </activity>

             然后重写方法:

                       public void setRequestedOrientation(int requestedOrientation){

                                switch(requestedOrientation){

                                         case ( ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE ):// 横屏

                                                   break;

                                         case ( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ):// 竖屏

                                                   break;

                                }

                                super.setRequestedOrientation(requestedOrientation);

                       }

                       public int getRequestedOrientation(){// 重写此方法可以获得目前屏幕方向

                                return super.getRequestedOrientation();

                       }

             然后调用 setRequestedOrientation(int requestedOrientation) 方法,可实现改变屏幕方向。

    3. 屏幕方向改变时,会调用 onConfigurationChanged() 方法。 (onConfigurationChanged() 方法是当系统发生系统设置改变之后所触发的事件,可捕捉屏幕设置更改事件、隐藏或打开键盘等 ) 。因此,要在屏幕方向改变后做界面的重绘等操作,可以重写 onConfigurationChanged() 方法。

             首先需要在 AndroidManifest.xml 中设置 Android:screenOrientation 属性,并设置权限:

                       <activity android:name=".ClickReadActivity" 
                                android:screenOrientation="landscape"> 
                       </activity>

             <uses-permission android:name="android.permisson.CHANGE_CONFIGURATION"/>

             然后重写方法:

             public void onConfigurationChanged(Configuration newConfig){

                       if( newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE ){

                       }

                       if( newConfig.orientation==Configuration.ORIENTATION_PORTRAIT ){

                       }

                       if( newConfig.KeyboardHidden==Configuration.KEYBOARDHIDDEN_NO ){

                       }

             }

  • 相关阅读:
    JVM垃圾回收器(三)
    JVM 运行时数据区(二)
    JVM 虚拟机&&类加载(一)
    带你看看Java的锁(三)-CountDownLatch和CyclicBarrier
    带你看看Java的锁(二)-Semaphore
    带你看看Java的锁(一)-ReentrantLock
    C# 判断文件格式的一些总结
    qt creator源码全方面分析(4-6)
    c/c++调用matlab的matOpen()出现异常
    qt creator源码全方面分析(4-5)
  • 原文地址:https://www.cnblogs.com/carbs/p/2586921.html
Copyright © 2011-2022 走看看