1

I want to change the screen layout in my application to full screen when the user click on button but it didn't work, my code is:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    btnFullScreen = (Button) findViewById(R.id.btnFullScreen);
    btnNormalScreen = (Button) findViewById(R.id.btnNormalScreen);

    btnFullScreen.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            setTheme(R.style.AppBaseThemeFullScreen);

        }
    });

    btnNormalScreen.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            setTheme(R.style.AppBaseTheme);

        }
    });



}

And my Full Screen theme is:

<style name="AppBaseThemeFullScreen" parent="android:Theme.Light">
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowNoTitle">true</item>
</style>

And my Normal theme is

<style name="AppBaseTheme" parent="android:Theme.Light">
    <item name="android:windowNoTitle">true</item>
</style>

So if there is any way to do that please help me.

Triode
  • 11,309
  • 2
  • 38
  • 48
Mahmoud Jorban
  • 952
  • 4
  • 13
  • 25

2 Answers2

14
void toggleFullScreen(boolean goFullScreen){   
    if(goFullScreen){
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
    }else{
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    }

    yourView.requestLayout();
}
Triode
  • 11,309
  • 2
  • 38
  • 48
0

If you want to change the theme from the code, it seems you have to do it before calling setContentView().

You can also try:

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                            WindowManager.LayoutParams.FLAG_FULLSCREEN);
etienne
  • 3,146
  • 1
  • 24
  • 45