[分享] 在全螢幕和非全螢幕間切換
最近要用到
轉直的不要全螢幕
轉橫的要顯示成全螢幕
當然View也要不同啦,不過這只是小事情。
一時之間咕不到,不過倒是有踹出來。
有錯請不吝指教。
在onConfigurationChanged裡面做這件事,
最主要就是記得要clearFlags
不然畫面會跑一部分到status bar底下,看起來怪怪的。
final Window window = getWindow();
switch(orientation) {
case ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE:
window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
showLandscape(); //顯示你的橫的要長的樣子
break;
case ActivityInfo.SCREEN_ORIENTATION_PORTRAIT:
default:
window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
window.setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
showPortraitView(); //你直的要長怎樣?
break;
}
至於orientation的判斷如下:我是以長寬來判斷。
private int getScreenOrientation() {
Display display = getWindowManager().getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();
return screenWidth > screenHeight ?
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE :
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
}
--
抱最大的希望,為最大的努力,做最壞的打算。 嚴長壽
領最大的薪水,擁最大的權勢,做最壞的榜樣。 立法院
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.88.75
推
02/23 11:23, , 1F
02/23 11:23, 1F
→
02/23 11:24, , 2F
02/23 11:24, 2F
→
02/23 11:27, , 3F
02/23 11:27, 3F
→
02/23 11:28, , 4F
02/23 11:28, 4F
→
02/23 11:29, , 5F
02/23 11:29, 5F
→
02/23 11:29, , 6F
02/23 11:29, 6F
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章