2016-03-21 21 views
6

Bunun için birkaç kez soruldum, ancak çalışmasını alamıyorum (ve her Android sürümünde cevap değişiyor gibi görünüyor). DÜZENLEME: Marshmallow üzerinde test yapıyorum, ancak Android 4.1+ üzerinde çalışmak güzel olurdu.Android VideoView Navigasyon Çubuğu üst üste binme kontrolleri ile tam ekran izleme

İstediğim sadece bir tam ekran video göstermek için, ve kullanıcı ekranı dokunduğunda, gezinme çubuğu ve diğer medya kontrolleri/zamanlayıcılar göstermek için. VLC ve Youtube gibi uygulamalar zaten yapıyor.

tam ekran zaman:

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

gezinme çubuğunu gösterilen: Burada

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

Ve olduğunu

yüzden benim bayrakları, Android Studio Tam Ekran Aktivite örnek ile başladı Ben ne elde istediğim ne:

Merak ettiğim

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

cevap

0

yeri gösteriyor rootView: 0

İşte benim düzenidir. Permanently hide navigation bar on activity bunu kontrol edin.

View decorView = getWindow().getDecorView(); 

decorView yerine rootView deneyin.

+0

Üzgünüm, hiçbir şey değişmedi :( – ocramot