2013-01-06 35 views
10

我已經看到某些應用程序,特別是大多數遊戲(例如憤怒的小鳥,Temple Run等)在啓動時全屏運行並處於橫向模式。它們的方向從不改變,並且在觸摸屏幕時它們永不退出全屏。它如何完成?我需要更改或編碼哪些屬性?製作Android應用程序全屏和橫向運行

+2

對不起,但它是常見的問題,只需使用谷歌和Android開發人員網站:http://developer.android.com/develop/index.html; http://www.google.com/ – sebap123

+0

我已經使用Google搜索了,但徒勞無功。在Android開發者網站上,儘管經歷了所有的屬性等,但我無法弄清楚。 –

+3

又一個可能是「SO原教旨主義」可悲的例子。你可以說「使用谷歌」來處理大量的SO問題,其中許多問題有數十或數百票。似乎沒有人抱怨他們。 – async

回答

15

如果你喜歡使用XML,你可以改變的AndroidManifest.xml:

<activity android:name="..." 
    android:screenOrientation="landscape" 
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 

</activity> 

如果您的目標是Android SDK 9或更高版本,則可以使用sensorLandscape而不是landscape這將意味着屏幕將會顯示在上正確的方式正常的風景方向和反向的風景方向。

+0

明白了..謝謝@ Tom-Lesse –

+0

如果設置min sdk = 8,並在manifest中使用sensorLandscape,應用程序崩潰了嗎? –

6
import android.view.Window; 
import android.view.WindowManager; 
import android.content.pm.ActivityInfo; 

@Override public void onCreate(Bundle savedInstanceState) 
{ 
    ... 

    // Set window fullscreen and remove title bar, and force landscape orientation 
    this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

    ... 
} 

解決您的問題

+0

明白了!謝謝@siranen –

+0

它更好......將它添加到您的相應活動 – CandleCoder

4

問題是解決了,並根據上面給出的答案,我所做的是,

步驟1: 在manifest.xml文件,

<application 
. . . 
android:screenOrientation="landscape" 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
. . . 
</application> 

步驟2: 在Java文件,我做了以下更改,

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    } 

現在我的應用程序運行全屏,風景沒有任何問題。謝謝你們。

+0

這很好,謝謝Sunit – Ferrrmolina

1

在每一個活動類將這個在onCreate()(屏幕):

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
           WindowManager.LayoutParams.FLAG_FULLSCREEN); 

此代碼將禁用Android通知欄(上拉下來)。 !