2012-03-13 12 views
14

Pracuję w systemie Android. Muszę pokazać moją aktywność w trybie pełnoekranowym, i zrobiłem to za pomocą następującego kodu.android Wyjście z trybu pełnoekranowego

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

Teraz wygląda tak: - enter image description here

Teraz chcę wyjść z tego trybu pełnego więc moja działalność powinna pokazać, jak wcześniej. tak: -

enter image description here

Mam przycisk, który służy do przełączania między trybem pełnego lub normalnego trybu, będę trybu ponownie i ponownie włączyć. Proszę, zasugeruj mi, jak mogę to zrobić. Oznacza, jak uzyskać normalny ekran z pełnego ekranu.

Z góry dziękuję.

+0

Czy potrzebny jest upvote? Myślę, że nie będzie to – Praveenkumar

Odpowiedz

32

Zgodnie poniżej kod, mogę ukryć TitleBar według swoich potrzeb,

Button full; 
static int vari = 0; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    full = (Button)findViewById(R.id.fullview); 
    full.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      if(vari == 0) 
      { 
       getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
       vari = 1; 
      }else 
      { 
       getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);     
       vari = 0; 
      } 

     } 
    }); 
} 

Spróbuj tego kodu. To bardzo pomaga.

9

Aby wyłączyć pełnym ekranie:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
ActivitiesCurrentContentView.requestLayout(); 

Aby ponownie włączyć pełny ekran:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
ActivitiesCurrentContentView.requestLayout(); 

Myślę, że kluczem w Twoim przypadku jest ponowne zainteresowanie układ.

+4

Co to jest ActivityCurrentContentView tutaj? Nie ma klasy o tej nazwie! @bbedward – Sri

+0

To ukrywa tylko pasek stanu –

0

Z ICS, gdy Fragment jest dołączony do Aktywności, trybFULL Screen zostaje zresetowany. Najlepszym sposobem jest dodanie kodu

getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getActivity().findViewById(R.id.root).setSystemUiVisibility(View.STATUS_BAR_HIDDEN);

w zwrotnego onActivityCreated fragmentu (id układ korzeń jest układ korzeniowy aktywności).

Powiązane problemy