2016-03-21 11 views
6

के साथ पूर्णस्क्रीन देखें, इसलिए मुझे पता है कि यह कई बार पूछा गया है, लेकिन मैं इसे काम नहीं कर सकता (और उत्तर हर एंड्रॉइड संस्करण के साथ बदलता प्रतीत होता है)। संपादित करें: मैं मार्शमलो पर परीक्षण कर रहा हूं, लेकिन यह एंड्रॉइड 4.1+ पर काम करना अच्छा लगेगा।एंड्रॉइड वीडियो नेविगेशन बार ओवरलैपिंग नियंत्रण

मैं चाहता हूं कि केवल एक पूर्णस्क्रीन वीडियो दिखाएं, और जब उपयोगकर्ता ने नेविगेशन बार और अन्य मीडिया नियंत्रण/टाइमर दिखाने के लिए स्क्रीन को टैप किया हो। वीएलसी और यूट्यूब जैसे ऐप्स पहले से ही कर रहे हैं।

मैं एंड्रॉयड स्टूडियो में पूर्ण स्क्रीन गतिविधि उदाहरण के साथ शुरू किया, तो मेरे झंडे हैं:

जब फुलस्क्रीन:

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

और यहाँ है मैं क्या चाहता हूं और मुझे क्या मिलता है:

मैं के बारे में उत्सुक हूँ

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

decorView बजाय rootView प्रयास करें।

+0

क्षमा करें, कुछ भी नहीं बदला :( – ocramot

संबंधित मुद्दे