2012-01-26 33 views
8

Mogę ustawić moją aktywność na pełny ekran w metodzie onCreate (przed ustawieniem setContentView)?Ustaw pełny ekran onCreate

Czy mogę ustawić na pełnym ekranie poza opcją onCreate?

Dzięki

+1

możliwy duplikat (http://stackoverflow.com/questions/2868047/fullscreen-activity-in-android) –

+0

nie, Chcę ustawić w kodzie – fsilvestre

+0

dobrze zobacz komentarz Marka Sebera i link w nim ... odpowiedź jest podana dla obu sposobów (programowych i nieprogramowych) –

Odpowiedz

12

Jest to możliwe! Dodanie tego kodu.

 

    // go full screen 
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); 
    attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN; 
    mActivity.getWindow().setAttributes(attrs); 

    // go non-full screen 
    WindowManager.LayoutParams attrs = mActivity.getWindow().getAttributes(); 
    attrs.flags &= (~WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    mActivity.getWindow().setAttributes(attrs); 

+1

To nie działa po "setContentView (...)" – neworld

+0

mi działa bardzo dobrze – fsilvestre

1

Docs dla Window.requestFeature mówi:

ta musi być wywołana przed setContentView().

więc nie, nie wierzę, że istnieje inny sposób, aby ustawić na pełnym ekranie po wywołaniu setContentView.

+0

Możesz wywołać 'setContentView' po raz drugi poza' onCreate', jeśli chcesz, więc dopóki wywołasz go po żądaniu funkcji pełnoekranowej, wszystko jest w porządku. Zwróć uwagę, że spowoduje to unieważnienie wszelkich odwołań do Widżetów, więc będziesz musiał ponownie wywołać 'findViewByID' po każdym odwołaniu do Widoku. –

+0

Martin, próbuję użyć requestFeature(), aby ustawić tryb pełnoekranowy w innej metodzie i kod poniżej zestawu wywołaniaContentView ponownie, ale wystąpił wyjątek: requestFeature() musi zostać wywołany przed dodaniem treści – fsilvestre

+0

Możesz spróbować * nie * wywoływać 'setContentView' jeszcze w 'onCreate' i wywoływanie go tylko tam, gdzie chcesz wywoływać' requestFeature', ale gdy wywołasz 'setContentView', to powyższe dotyczy. – kabuko

-1
@Override 

protected void onCreate(Bundle savedInstanceState) { 

// TODO Auto-generated method stub 

super.onCreate(savedInstanceState); 

    **requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);** 

    setContentView(R.layout.activity); 

... 
} 
0
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Użyj tego przed ustawieniem układu .because próbujesz ustawić układ w trybie pełnoekranowym. Dlaczego potrzebujesz poza metodą tworzenia? ...

0

Spróbuj tego: [? FullScreen działalności w Android]

View decorView = getWindow().getDecorView(); 

int uiOptions = View.SYSTEM_UI_FLAG_FULLSCREEN; 
decorView.setSystemUiVisibility(uiOptions); 
Powiązane problemy