android Выход из полноэкранного режима - PullRequest
14 голосов
/ 13 марта 2012

Я работаю в Android. Мне нужно показать свою активность в полноэкранном режиме, и я сделал это, используя следующий код.

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

Теперь это выглядит так: - enter image description here

Теперь я хочу выйти из этого полного режима, чтобы моя активность отображалась как раньше. как это: -

enter image description here

У меня есть кнопка, которая используется для переключения между полным и нормальным режимами, я буду переключать режим снова и снова. Пожалуйста, предложите мне, как я могу это сделать. Означает, как можно получить нормальный экран от полного экрана.

Заранее спасибо.

Ответы [ 3 ]

40 голосов
/ 13 марта 2012

Согласно приведенному ниже коду, я могу скрыть TitleBar по вашим потребностям,

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;
            }

        }
    });
}

Попробуйте этот код. Это вам очень помогает.

12 голосов
/ 13 марта 2012

Чтобы отключить полный экран:

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

Чтобы снова включить полный экран:

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

Я думаю, что ключом в вашем случае является повторный запрос макета.

0 голосов
/ 29 ноября 2013

Из ICS, когда фрагмент прикреплен к действию, режим FULL Screen сбрасывается.Наилучший подход - добавить код

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

в обратный вызов onActivityCreated для фрагмента (идентификатор макета root является корневым макетом действия).

...