का उपयोग करते समय पहले TouchEvent के लिए सुनो एपीआई 14 के साथ शुरू करने से आप इस गतिविधि को SYSTEM_UI_FLAG_HIDE_NAVIGATION
का उपयोग उस गतिविधि को बताने के लिए कर सकते हैं, जब तक आप उपयोगकर्ता इंटरैक्शन (स्क्रीन टच) नहीं करते हैं, तब तक नेविगेशन बार को छिपाना चाहते हैं। एक बार जब उपयोगकर्ता स्क्रीन को टैप करता है तो बार दिखाया जाता है।SYSTEM_UI_FLAG_HIDE_NAVIGATION
गतिविधि जो मैं कर रहा हूं वह कुछ क्रिया (एक अलग गतिविधि शुरू करता है) जब उपयोगकर्ता स्क्रीन को छूता है, ऊपर दिए गए ध्वज को मेरे दृश्य में जोड़ने से पहले यह पूरी तरह से काम करता है।
उस ध्वज को जोड़ने के बाद सिस्टम पहले स्क्रीन स्पर्श को रोकता है और एनएवी बार दिखाकर इसे प्रतिक्रिया देता है। यह दूसरा स्पर्श तक नहीं है कि मेरे किसी भी दृश्य, या मेरी गतिविधि को टचवेन्ट प्राप्त हो रहे हैं।
क्या किसी को इस तरह से पता है कि मैं एक श्रोता स्थापित कर सकता हूं जो मुझे इस दूसरी नौवहन ध्वज का उपयोग करते समय दो बार टैप करने की आवश्यकता के बजाय पहली बार स्क्रीन को छुआ जाने देगी?
मैंने निम्नलिखित सभी को आजमाया है और जब भी नेवी बार दिखाने के लिए स्क्रीन को पहली बार स्पर्श किया जाता है तो मुझे उनमें से किसी को कॉलबैक नहीं मिल रहा है।
@Override
public void onUserInteraction(){
Log.i(myTag, "INTERACT");
}
@Override
public boolean onGenericMotionEvent(MotionEvent me){
Log.i(myTag, "GENERIC");
return true;
}
//I thought maybe the size change would lead to a callback here. No dice though.
@Override
public void onWindowAttributesChanged(WindowManager.LayoutParams params){
Log.i(myTag, "WINDOW CHANGE");
}
@Override
public boolean dispatchTouchEvent(MotionEvent me){
Log.i(myTag, "TOUCH");
return true;
}
नोट: मैं पहली बार स्पर्श पर दिखाए जाने से नेविगेशन बार रोकने का प्रयास कर नहीं कर रहा हूँ, मैं सिर्फ जब कि घटना होती भी कुछ अन्य कार्य करना चाहते हैं।
क्या आपने ['View.OnSystemUiVisibilityChangeListener'] (http://developer.android.com/reference/android/view/View.OnSystemUiVisibilityChangeListener.html) की कोशिश की है? –
@ जोशली मैं नहीं था और यह काम करता है! बहुत धन्यवाद। यदि आप कृपया उत्तर दें तो उत्तर दें क्योंकि मैं इसे स्वीकार कर सकता हूं। – FoamyGuy