Android: making a fullscreen application
You are getting this problem because the activity you are trying to apply the android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
to is extending ActionBarActivity which requires the AppCompat theme to be applied.
Extend your activity from Activity
rather than from ActionBarActivity
You might have to change your Java class accordingly little bit.
If you want to remove status bar too then use this before setContentView(layout)
in onCreateView
method
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
How to Make my Android App FullScreen via Android Manifest?
Go into the manifest and use a full screen theme.
<activity
android:name=".Foo"
android:label="@string/foo"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
Fullscreen App With DisplayCutout
I finally found out why. For some strange reason, the application won't enter the if condition:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
// It never gets here
}
I removed that if condition and the activity finally goes fullscreen correctly.
Here are the bare minimum codes required to render the activity fullscreen.
Activity:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// or add <item name="android:windowTranslucentStatus">true</item> in the theme
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
val attrib = window.attributes
attrib.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
}
}
Styles:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- Adding fullscreen will just hide the status bar -->
<!-- <item name="android:windowFullscreen">true</item> -->
</style>
Fullscreen Activity in Android?
You can do it programatically:
public class ActivityName extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// remove title
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
}
Or you can do it via your AndroidManifest.xml
file:
<activity android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
Edit:
If you are using AppCompatActivity then you need to add new theme
<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
and then use it.
<activity android:name=".ActivityName"
android:label="@string/app_name"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"/>
Thanks to https://stackoverflow.com/a/25365193/1646479
How to make a FullScreen Activity on Android
Well turns out there is a simple solution to the problem. I just needed to make the status bar and navigation bar transparent.
Post API 21 we can do it programmatically like this -
getWindow().setStatusBarColor(Color.TRANSPARENT);
for making it work on lower android versions, I just needed to add the transparency via xml in the /res/values-v21/styles.xml
<item name="android:statusBarColor">@android:color/transparent</item>
Here's the final effect
Programmatically make app FULL SCREEN in Android
add two lines...
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
Android - Making activity full screen with status bar on top of it
I know that the guy asking the question may have found his own solution but for the people who are still looking for a solution this is a very simple solution but one thing it has a limitation till Kitkat
so a condition is added
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
Related Topics
Android:What Is Difference Between Setflags and Addflags for Intent
Difference of Setvalue() & Postvalue() in Mutablelivedata
Android Device Chooser -- Device Not Showing Up
How to Change the Track Color of a Switchcompat
Error: Execution Failed for Task ':App:Clean'. Unable to Delete File
How Do We Distinguish Never-Asked from Stop-Asking in Android M's Runtime Permissions
Android Alert Dialog with One, Two, and Three Buttons
Android Accelerometer Not Working When Screen Is Turned Off
How to Correctly Use Google Plus Sign in with Multiple Activities
Using Google Account to Log in to an Android Application
How to Remove Shared Preference While Application Uninstall in Android
Endless Recyclerview with Progressbar for Pagination
How to Build a Native (Command Line) Executable to Run on Android
Fileprovider Crash - Npe Attempting to Invoke Xmlresourceparser on a Null String
How to Check If an App Is a Non-System App in Android
Filtering Accelerometer Data Noise
How to Block Virtual Keyboard While Clicking on Edittext in Android