2012-08-26 107 views
0

我試圖做一個全屏的活動,但它似乎並沒有在薑餅的工作,這裏是我的代碼的Android全屏不工作:薑餅

@SuppressLint("NewApi") 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_eyes); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){ 
    ActionBar actionBar = getActionBar(); 
    actionBar.hide(); 

} 

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    } 

薑餅還有一個標題。

有誰知道如何解決這個問題?

+2

是你有沒有從清單中設置它的理由? – FoamyGuy

回答

1

requestWindowFeature必須在super.onCreate之前調用。像這樣:

@SuppressLint("NewApi") 
@Override 
public void onCreate(Bundle savedInstanceState) { 

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
    } 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_eyes); 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){ 
     ActionBar actionBar = getActionBar(); 
     actionBar.hide(); 
    } 

    if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    } 
    // ... 

如果這不起作用,將getWindow().setFlags(...)調用頂部爲好。

3

首先,您應該將清單中的活動設置爲全屏。 在所需的活性,添加以下代碼

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

和你的onCreate應該是這樣的

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.GINGERBREAD){ 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
} 

setContentView(R.layout.main); 

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH){ 
    ActionBar actionBar = getActionBar(); 
    actionBar.hide(); 

} 

這可能會解決這個問題。

3

請記住,你必須調用requestWindowFeature調用之前setContentView

試試這個在Java做一個全屏幕的活動:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 

,並在清單

android:theme="@android:style/Theme.Translucent.NoTitleBar" 
0

除非你有充分的理由要不在清單中設置它,請將此屬性添加到清單中的代碼中:

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

而且我相信你不需要onCreate()中的if-conditions代碼。