2013-06-18 7 views
6

मैं अपने एंड्रॉइड ऐप में Navigation Drawer का उपयोग कर रहा हूं।यह पता लगाने के लिए कि किनारे के स्वाइप (और घर आइकन नहीं) के साथ नेविगेशन ड्रॉवर खोला गया है?

चूंकि यह एक पैटर्न है जिसे मुझे खोजना बहुत मुश्किल लगता है, मेरी योजना स्क्रीन के निचले हिस्से में एक छोटा संदेश जोड़ना था जब तक कि उपयोगकर्ता अंततः इसे खोज न सके और सफलतापूर्वक इसे स्वाइप के साथ खोला।

मुझे पता है कि मैं इस्तेमाल कर सकते हैं:

public void onDrawerOpened(View drawerView) { 
    // Stop telling the user, he know how it works 
} 

लेकिन जब यह ActionBar में ऊपरी बाएँ बटन के साथ खोलने इस कार्रवाई भी शुरू हो रहा है।

एक सफल स्वीप का पता लगाने के लिए कोई सुझाव गर्मजोशी से स्वागत किया जाएगा।

+2

यह क्यों मायने रखता है कि उपयोगकर्ता इसे स्वाइप के माध्यम से या एक्शन बार के माध्यम से खोलता है या नहीं? जब तक वे इसे प्राप्त कर सकें, वे जानते हैं कि इसे कैसे प्राप्त किया जाए। – CommonsWare

+2

क्योंकि मुझे ऐसा करने के लिए कहा गया है और ऐसा करके भुगतान किया जाएगा। वैध लगता है। –

+1

मुझे लगता है कि उपयोगकर्ता को एक सुविधा खोजने के लिए वह एक गैर घुसपैठ और गैर दोहराव वाले तरीके से नहीं जानता है, किसी एप्लिकेशन के अंदर कुछ सराहना करता है। एज स्वाइप मेरे ऐप की एकमात्र गैर अंतर्ज्ञानी विशेषता है, इसलिए इसे डोज़वर करने के लिए अच्छा लगता है। –

उत्तर

6

आप स्थिति परिवर्तन कॉलबैक को सुनने के लिए की जरूरत है:

 @Override 
     public void onDrawerStateChanged(int newState) {     
      if (newState == DrawerLayout.STATE_DRAGGING) { 
       Log.v(TAG, "Drawer opened by dragging"); 
      } 
     } 

यह स्थिति केवल तब होता है जब उपयोगकर्ता दृश्य में दराज खींच लेता है। घर आइकन पर टैप करने से यह प्रेरित नहीं होता है - जो वही है जो आप चाहते हैं।

2

ड्रॉवरलाउट को विस्तारित किए बिना आप ड्रॉवर लिस्टर के संयोजन और होम बटन प्रेस के लिए एक बूलियन ध्वज का उपयोग कर सकते हैं।

ड्रावर लिस्टनर को ऑनवर ड्राइड विधि के साथ कार्यान्वित करें। इस विधि के अंदर आप होम बटन ध्वज की जांच कर सकते हैं और यदि यह गलत है और दराज खुला हो रहा है तो आप जानते हैं कि यह स्लाइड के माध्यम से कार्रवाई थी।

बिट गन्दा।

उस ओवरराइड ड्रावरलेआउट के अलावा और ऑन टचवेन्ट को ओवरराइड करें और घटनाओं को पकड़ें।

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