আমি গুগলের ন্যাভিগেশন ড্রয়ার গাইড অনুসরণ করেছি এবং আমি এটি ট্যাব এবং অঙ্গভঙ্গি সহ কোনও ক্রিয়াকলাপে যুক্ত করতে চাই।
আমি নেভিগেশন ড্রয়ারটি খোলার অঙ্গভঙ্গিটি অক্ষম করতে চাই, এটি কীভাবে করবেন তার কারও কি ধারণা আছে?
আমি গুগলের ন্যাভিগেশন ড্রয়ার গাইড অনুসরণ করেছি এবং আমি এটি ট্যাব এবং অঙ্গভঙ্গি সহ কোনও ক্রিয়াকলাপে যুক্ত করতে চাই।
আমি নেভিগেশন ড্রয়ারটি খোলার অঙ্গভঙ্গিটি অক্ষম করতে চাই, এটি কীভাবে করবেন তার কারও কি ধারণা আছে?
উত্তর:
আপনার ব্যবহার করা উচিত:
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);
সেটড্রাওয়ারলকমোড () ব্যবহার করার সময় মহাকর্ষের মানও যুক্ত করুন ;
এটা কর :
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.END);
এটি একটি কবজ মত কাজ করা উচিত
সোয়াইপিং অক্ষম করতে, ওভাররাইড করুন onInterceptTouchEventএবং onTouchEventচালিয়ে যান DrawerLayoutএবং এগুলিকে মিথ্যা ফিরিয়ে দিন।
সোয়াইপিং অক্ষম করার উত্তরটি সঠিক। আমার মনে হয় LOCK_MODE_LOCKED_CLOSED ২৪.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});