выход android из полноэкранного режима

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

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

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

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

enter image description here

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

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

3 ответов


согласно приведенному ниже коду, я могу скрыть 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;
            }

        }
    });
}

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


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

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();

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


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

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

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