Android中兩種設定全屏的方法!!!

來源:互聯網
上載者:User

http://hi.baidu.com/sunyaming/blog/item/fec4450e6b0191c77acbe182.html

在開發中我們經常需要把我們的應用設定為全屏,這裡我所知道的有倆中方法,一中是在代碼中設定,另一種方法是在設定檔裡改!

一、在代碼中設定:

view plaincopy to clipboardprint?
package com.android.tutor;  
import android.app.Activity;  
import android.os.Bundle;  
import android.view.Window;  
import android.view.WindowManager;  
public class OpenGl_Lesson1 extends Activity {  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
       //無title    
       requestWindowFeature(Window.FEATURE_NO_TITLE);    
        //全屏    
       getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,      
                      WindowManager.LayoutParams. FLAG_FULLSCREEN);   
           
        setContentView(R.layout.main);  
    }  
}
package com.android.tutor;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class OpenGl_Lesson1 extends Activity {
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       //無title
       requestWindowFeature(Window.FEATURE_NO_TITLE);
        //全屏
       getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,   
                      WindowManager.LayoutParams. FLAG_FULLSCREEN);
        
        setContentView(R.layout.main);
    }
}

在這裡要強調一點,設定全屏的倆段代碼必須在setContentView(R.layout.main) 之前,不然會報錯。

二、在設定檔裡修改(android:theme="@android:style/Theme.NoTitleBar.Fullscreen"):

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android
"
      package="com.android.tutor"
      android:versionCode="1"
      android:versionName="1.0">  
    <application android:icon="@drawable/icon" android:label="@string/app_name">  
        <activity android:name=".OpenGl_Lesson1"
                  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                  android:label="@string/app_name">  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  
                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
        </activity>  
    </application>  
    <uses-sdk android:minSdkVersion="7" />  
</manifest>  
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android
"
      package="com.android.tutor"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".OpenGl_Lesson1"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="7" />
</manifest>

在這裡我還想說明一下,用前者在我們應用運行後,會看到短暫的狀態列,然後才全屏,而第二種方法是不會有這種情況的,所以我建議

大家使用後者! 謝謝~

 

讓程式全屏的方法,大家都知道,那是靜態,程式運行之初就申明了。但是如果有這樣的需求:要在程式啟動並執行過程中,執行了某個操作而使之全屏,然後還需要退出全屏,怎麼做?

    如下:Java代碼

    WindowManager.LayoutParams attrs = getWindow().getAttributes(); 
    attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; 
    getWindow().setAttributes(attrs); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 

    修改window的LayoutParams參數,然後加上FLAG_LAYOUT_NO_LIMITS標誌,就OK了。window會自動重新布局,呈現全屏的狀態。

    要退出全屏,只需要清除剛才加上的FLAG_FULLSCREEN參數,然後去掉FLAG_LAYOUT_NO_LIMITS標誌。

    如下:Java代碼

    WindowManager.LayoutParams attrs = getWindow().getAttributes(); 
    attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    getWindow().setAttributes(attrs); 
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.