public class ScreenUtils
extends java.lang.Object
author: Blankj blog : http://blankj.com time : 2016/8/2 desc : 屏幕相关工具类
Modifier and Type | Method and Description |
---|---|
static Bitmap |
captureWithoutStatusBar(Activity activity)
获取当前屏幕截图,不包含状态栏
|
static Bitmap |
captureWithStatusBar(Activity activity)
获取当前屏幕截图,包含状态栏
|
static int |
getScreenHeight()
获取屏幕的高度(单位:px)
|
static int |
getScreenRotation(Activity activity)
获取屏幕旋转角度
|
static int |
getScreenWidth()
获取屏幕的宽度(单位:px)
|
static int |
getSleepDuration()
获取进入休眠时长
|
static boolean |
isLandscape()
判断是否横屏
|
static boolean |
isPortrait()
判断是否竖屏
|
static boolean |
isScreenLock()
判断是否锁屏
|
static void |
setLandscape(Activity activity)
设置屏幕为横屏
|
static void |
setPortrait(Activity activity)
设置屏幕为竖屏
|
static void |
setSleepDuration(int duration)
设置进入休眠时长
|
public static int getScreenWidth()
public static int getScreenHeight()
public static void setLandscape(Activity activity)
还有一种就是在Activity中加属性android:screenOrientation="landscape"
不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
设置Activity的android:configChanges="orientation|keyboardHidden|screenSize"(4.0以上必须带最后一个参数)时 切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
activity
- activitypublic static void setPortrait(Activity activity)
activity
- activitypublic static boolean isLandscape()
true
: 是false
: 否public static boolean isPortrait()
true
: 是false
: 否public static int getScreenRotation(Activity activity)
activity
- activitypublic static Bitmap captureWithStatusBar(Activity activity)
activity
- activitypublic static Bitmap captureWithoutStatusBar(Activity activity)
activity
- activitypublic static boolean isScreenLock()
true
: 是false
: 否public static void setSleepDuration(int duration)
需添加权限 <uses-permission android:name="android.permission.WRITE_SETTINGS" />
duration
- 时长public static int getSleepDuration()