我們都知道給Activity設置全屏有在主題中設置,有在代碼中設置的方式。那么該怎么獲得當前是否全屏呢?網上有很多文章都用的是同一個方法,這個方法我經過測試基本處於廢物級別,我的是4.4.4無法使用網上流傳的方法。我下面給出我自己的一個實現。
/** * @param activity * @return 判斷當前手機是否是全屏 */ public static boolean isFullScreen(Activity activity) { int flag = activity.getWindow().getAttributes().flags; if((flag & WindowManager.LayoutParams.FLAG_FULLSCREEN) == WindowManager.LayoutParams.FLAG_FULLSCREEN) { return true; }else { return false; } }
設置全屏的方法2種
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);//全屏
取消全屏的方法
getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN);
判斷當前是否是豎屏
/** * 判斷當前屏幕是否是橫屏 * @param activity * @return */ public static boolean isVerticalScreen(Activity activity) { int flag = activity.getResources().getConfiguration().orientation; if (flag == 0) { return false; }else { return true; } }
附:Android系統自帶樣式
android:theme="@android:style/Theme.Dialog" 將一個Activity顯示為能話框模式
android:theme="@android:style/Theme.NoTitleBar" 不顯示應用程序標題欄
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 不顯示應用程序標題欄,並全屏
android:theme="Theme.Light" 背景為白色
android:theme="Theme.Light.NoTitleBar" 白色背景並無標題欄
android:theme="Theme.Light.NoTitleBar.Fullscreen" 白色背景,無標題欄,全屏
android:theme="Theme.Black" 背景黑色
android:theme="Theme.Black.NoTitleBar" 黑色背景並無標題欄
android:theme="Theme.Black.NoTitleBar.Fullscreen" 黑色背景,無標題欄,全屏
android:theme="Theme.Wallpaper" 用系統桌面為應用程序背景
android:theme="Theme.Wallpaper.NoTitleBar" 用系統桌面為應用程序背景,且無標題欄
android:theme="Theme.Wallpaper.NoTitleBar.Fullscreen" 用系統桌面為應用程序背景,無標題欄,全屏
android:theme="Translucent" 透明背景
android:theme="Theme.Translucent.NoTitleBar" 透明背景並無標題
android:theme="Theme.Translucent.NoTitleBar.Fullscreen" 透明背景並無標題,全屏
android:theme="Theme.Panel" 面板風格顯示
android:theme="Theme.Light.Panel" 平板風格顯示
參考自:http://blog.csdn.net/shakespeare001/article/details/7779011