मैं Google द्वारा नेविगेशन ड्रावर गाइड का अनुसरण कर रहा हूं और मैं इसे टैब और इशारों के साथ एक गतिविधि में जोड़ना चाहूंगा।
मैं नेविगेशन ड्रॉअर खोलने के लिए इशारे को अक्षम करना चाहता हूं, क्या किसी को कोई विचार नहीं है कि यह कैसे करना है?
मैं Google द्वारा नेविगेशन ड्रावर गाइड का अनुसरण कर रहा हूं और मैं इसे टैब और इशारों के साथ एक गतिविधि में जोड़ना चाहूंगा।
मैं नेविगेशन ड्रॉअर खोलने के लिए इशारे को अक्षम करना चाहता हूं, क्या किसी को कोई विचार नहीं है कि यह कैसे करना है?
जवाबों:
आपको उपयोग करना चाहिए:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
इसने मेरे लिए काम किया, दराज खोलने के लिए कड़ी चोट अक्षम थी।
यदि यह अभी भी काम नहीं करेगा, तो यहां दिए गए उत्तर की जांच करें ।
mDrawerLayout, तो इसे निम्नानुसार सेट करें:mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
ToolBar(एपीआई 21) को लागू करने की कोशिश कर रहा हूं और SlidingTabLayoutइसमें उस सुविधा का उपयोग कर रहा हूं , जो मेरे नव के साथ संघर्ष कर रहा है। दराज स्वाइप करना। इसलिए मैं नव को निष्क्रिय कर दूंगा। ToolBarस्लाइडिंग सुविधा के पक्ष में दराज स्लाइड ।
ताला लगाने के लिए आप यह कर सकते हैं:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
और अनलॉक के लिए:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
गुरुत्वाकर्षण का मान जोड़ें जब भी setDrawerLockMode () का उपयोग करें ;
यह करो :
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END);
यह एक आकर्षण की तरह काम करना चाहिए
स्वाइप करना, ओवरराइड onInterceptTouchEventऔर onTouchEventऑन करने को अक्षम करना DrawerLayoutऔर उन्हें गलत लौटना।
स्वाइप को अक्षम करने का उत्तर सही है। मुझे लगता है कि LOCK_MODE_LOCKED_CLOSED ने संगत 24.x में काम किया है, लेकिन कार्यक्षमता को नए कॉम्पिटिटर लाइब्रेरी में बदल दिया गया है और LOCK_MODE_LOCKED_CLOSED अब पूरी तरह से हैमबर्गर मेनू का उपयोग करके भी, नव मेनू को दिखाने से रोकता है।
निम्न वर्ग मेरे लिए काम करता है (कोटलिन):
class MyDrawerLayout(ctx: Context) : DrawerLayout(ctx) {
var isSwipeOpenEnabled: Boolean = true
override fun onInterceptTouchEvent(ev: MotionEvent): Boolean {
if (!isSwipeOpenEnabled && !isDrawerVisible(Gravity.START)) {
return false
}
return super.onInterceptTouchEvent(ev)
}
@SuppressLint("ClickableViewAccessibility")
override fun onTouchEvent(ev: MotionEvent): Boolean {
if (!isSwipeOpenEnabled && !isDrawerVisible(Gravity.START)) {
return false
}
return super.onTouchEvent(ev)
}
}
यह मेरे लिए काम करता है
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, {Your drawer view});