2016-03-21 103 views
6

これは何度か尋ねられたことがわかっていますが、動作させることができません(答えはAndroidバージョンごとに変わるようです)。編集:私はマシュマロでテストしていますが、それはAndroid 4.1以上で動作するようになるといいですね。Android VideoViewフルスクリーンとナビゲーションバーのオーバーラップコントロール

私が望むのは、フルスクリーンビデオを表示し、ユーザーが画面をタップすると、ナビゲーションバーや他のメディアコントロール/タイマーを表示することです。 VLCやYoutubeのようなアプリはすでにやっているようです。

するとフルスクリーン:

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

ナビゲーションバー表示するとき:

@SuppressLint("InlinedApi") 
private void show() { 

    // Show the system bar 
    rootView.setSystemUiVisibility(
      View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 
      | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION); 
    mVisible = true; 

    // Schedule a runnable to display UI elements after a delay 
    mHideHandler.removeCallbacks(mHidePart2Runnable); 
    mHideHandler.postDelayed(mShowPart2Runnable, UI_ANIMATION_DELAY); 
} 

そして、ここにされたが、私のフラグがあるので、私は、AndroidのStudioでフルスクリーンの活動例を始め

私が欲しいものと私が得るもの:

私は好奇心だ

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

答えて

0

どこからあなたのrootView:0

そして、ここでは私のレイアウトです。 Permanently hide navigation bar on activity これをチェックしてください。

View decorView = getWindow().getDecorView(); 

rootViewの代わりにdecorViewを試してください。

+0

申し訳ありませんが、変更されたもの:( – ocramot

関連する問題