沒搞錯吧,手機也要玩全螢幕,如果說一般PC遊戲程式用全螢幕我還相信
因為全螢幕的狀態遊戲程式的效能會比視窗模式還要高上許多
不過Android的確有提供這個功能,就是為了替手機的遊戲程式等提供更乾淨的介面
來看一下這張圖

一個Android應用程式會有兩個不屬於我們佈局檔的東西(圖看不清楚請點開放大)
- 第一個是上面紅框圈起來,也就是手機狀態的Bar
- 第二個是則是綠框圈起來的部分,是我們應用程式的標題
而要如何讓他們消失呢
可以用一行程式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
首先用Activity的getWindow()函式得到Window物件
之後用他的setFlag()函式去設定視窗屬性在此用WindowManager.LayoutParams.FLAG_FULLSCREEN
代表我要設定為全螢幕
來看一下效果

唉呀!標題框還在沒消除。那個標題框是Activity的顯示屬姓,所以必須仰賴Activity的requestWindowFeature函式
去對Activity增加顯示效果,在此我使用
requestWindowFeature(Window.FEATURE_NO_TITLE);
這個是Google的遊戲範例,像是Snake、LunarLander都會看到的一行程式,使用Window.FEATURE_NO_TITLE這個參數,作用就是把應用程式的標題給移除。
onCreate的部分程式
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.list);
........
}
最後來看一下效果吧

他就變成一個完整的全螢幕應用程式了
沒有留言:
張貼留言