So, I know this has been asked several times, but I can't get it to work (and the answer seems to change with every version of Android). EDIT: I am testing Marshmallow, but it would be nice to make it work on Android 4.1 +.
I want to just show a full-screen video, and when the user closes the screen to display the navigation bar and other controls / timers. Just like applications like VLC and Youtube already do.
I started with an example of full-screen activity in Android Studio, so my flags are:
When full screen mode:
private final Runnable mHidePart2Runnable = new Runnable() { @SuppressLint("InlinedApi") @Override public void run() { // Delayed removal of status and navigation bar // Note that some of these constants are new as of API 16 (Jelly Bean) // and API 19 (KitKat). It is safe to use them, as they are inlined // at compile-time and do nothing on earlier devices. rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); } };
when the navigation bar is displayed:
@SuppressLint("InlinedApi") private void show() {
And here is what I want and what I get:

And here is my layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff000000" android:id="@+id/layout_play_video" tools:context="com.nttdata.videoplaylist.PlayVideoActivity"> <VideoView android:id="@+id/content_video" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" /> <ProgressBar android:id="@+id/loading_pb" android:layout_width="80dp" android:layout_height="80dp" android:layout_gravity="center|center" android:progressDrawable="@drawable/loading" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> <RelativeLayout android:id="@+id/fullscreen_content_controls" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal|bottom" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" > <TextView android:id="@+id/content_video_time_current" android:layout_width="wrap_content" android:layout_height="50dp" android:shadowColor="@android:color/black" android:text="@string/content_duration" android:textColor="#ffffffff" android:textSize="30sp" android:layout_marginLeft="25dp" android:layout_marginStart="25dp" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <TextView android:id="@+id/content_video_time_total" android:layout_width="wrap_content" android:layout_height="50dp" android:shadowColor="@android:color/black" android:text="@string/content_duration" android:textColor="#ffffffff" android:textSize="30sp" android:layout_marginRight="25dp" android:layout_marginEnd="25dp" android:layout_gravity="end|bottom" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <ProgressBar android:id="@+id/content_video_progress" android:layout_width="match_parent" style="?android:attr/progressBarStyleHorizontal" android:layout_height="50dp" android:layout_marginLeft="60dp" android:layout_marginStart="60dp" android:layout_marginRight="60dp" android:layout_marginEnd="60dp" android:layout_toStartOf="@id/content_video_time_total" android:layout_toLeftOf="@id/content_video_time_total" android:layout_toEndOf="@id/content_video_time_current" android:layout_toRightOf="@id/content_video_time_current" android:layout_alignParentBottom="true" /> </RelativeLayout> </RelativeLayout>
source share