ডান থেকে বামে খোলার জন্য কীভাবে নেভিগেশন ড্রয়ার সেট করবেন


86

সবার আগে আমি জানি এই প্রশ্নটি এখানে উপস্থিত হয়েছিল তবে অনেক চেষ্টা করার পরেও আমি সফল হই নি। আমি অ্যান্ড্রয়েড বিকাশকারী সাইট থেকে উদাহরণে কাজ করছি ।

আমি মেনুটিকে উদাহরণটিতে (বাম থেকে ডানে) প্রয়োগ করার পরিবর্তে ডান থেকে বামে খুলতে সেট করার চেষ্টা করছি। এছাড়াও আমি ক্রিয়া বারের ডানদিকে ওপেন মেনু বোতামটি সরতে চাই। আমি এখানে কিছু উত্তর লাল করেছি, উদাহরণস্বরূপ এই উত্তরে

আমি ভিউ এবং লেআউটগুলির মাধ্যাকর্ষণ পরিবর্তন করার চেষ্টা করি তবে আমি ত্রুটি পেয়েছি:

নিখুঁত মাধ্যাকর্ষণ LEFT সহ কোনও ড্রয়ার দর্শন পাওয়া যায় নি

ডান দিক থেকে মেনুটি খোলার জন্য এবং অ্যাকশন বারের বোতামটি ডানদিকে সরাতে আমার কোডটিতে কী সমস্যা আছে এবং কী কী পরিবর্তন করা উচিত তা অনুগ্রহ করতে দয়া করে আমাকে সাহায্য করতে পারেন?

এক্সএমএল কোডটি এখানে রয়েছে:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_gravity="right"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <FrameLayout
        android:id="@+id/content_frame"
        android:layoutDirection="rtl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />

    <ListView android:id="@+id/left_drawer"
        android:layout_width="200dp"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="10dp"
        android:background="#111"/>

</android.support.v4.widget.DrawerLayout>


Github.com/Ali-Rezaei/SliderDrawer এ দেখুন যা কোডের কয়েকটি লাইন দিয়ে যে কোনও দিক থেকে স্লাইড হওয়া সম্ভব করে।
আলী

দয়া করে উত্তরটি দেখুন স্ট্যাকওভারফ্লো.com
আমান সাক্সেনা

উত্তর:


155

আপনার প্রধান বিন্যাসে আপনার ListViewমাধ্যাকর্ষণটি ডানদিকে সেট করুন :

android:layout_gravity="right" 

আপনার কোডেও:

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
            R.drawable.ic_drawer, R.string.drawer_open,
            R.string.drawer_close) {

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item != null && item.getItemId() == android.R.id.home) {
            if (mDrawerLayout.isDrawerOpen(Gravity.RIGHT)) {
                mDrawerLayout.closeDrawer(Gravity.RIGHT);
            } 
            else {
                mDrawerLayout.openDrawer(Gravity.RIGHT);
            }
        }
        return false;
    }
};

আশা করি এটা কাজ করবে :)


4
@ রূদি: আপনি কি দ্বিতীয় ভাগের উত্তর জানেন? আমি বোঝাতে চাইছি কীভাবে ডান বামে অ্যাকশনবার তৈরি করবেন। (ড্রয়ার এবং আপ নেভিগেশন আইকন
দিকও

@ আলিরেজা কেন আপনি একটি কাস্টমাইজড অ্যাকশনবার ব্যবহার করবেন না?
রূদি

@ রূদি: মানে কি setCustomViewপদ্ধতি? যদি হ্যাঁ, আপনি কীভাবে এটি করবেন তা দেখিয়ে কিছু লিঙ্ক পেস্ট করতে আপত্তি করবেন?
আলিরিজা ফারাহানী

@ আলিরিজা বলতে চাইছিলাম, আপনার দেখার শীর্ষে অ্যাকশনবার ব্যবহার করার পরিবর্তে আপনার কাস্টম অ্যাকশনবারটিকে আপনার মূল এক্সএমএলতে তৈরি করুন এবং এটি আপনার ইচ্ছামত সেট আপ করুন।
রুডি

@ রূদি: তবে, কীভাবে আমি নেভিগেশন এবং ড্রয়ারের মতো একই আচরণটি খুলতে এবং বন্ধ অ্যানিমেশনটি অর্জন করতে পারি? আমাকে কি এগুলি স্ক্র্যাচ থেকে বাস্তবায়ন করতে হবে?
আলিরেজা ফারাহানী

62

এই কোডটি প্রকাশ করতে যুক্ত করুন:

<application android:supportsRtl="true">

এবং তারপরে এই কোডটি অনক্রিয়েটে লিখুন:

getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);

এটা আমার জন্য কাজ করে. ;)


4
এটি সঠিক উত্তর, শুরু করার জন্য কেবল আপনার তালিকা দর্শনের মাধ্যাকর্ষণ সেট করুন, তারপরে এই কোডটি ব্যবহার করুন, সবকিছু ঠিকঠাক হওয়া উচিত
মাহদী গিডি

9
এটি কাজ করছে, তবে, লেলআউটডাইরেশন (View.LAYOUT_DIRECTION_RTL) 17 এর উপরে API এর জন্য, সুতরাং আপনি এপিআই নিম্নের জন্য এটি ব্যবহার করতে পারবেন না
মিলাদ

6
এটি কি ক্রিয়াকলাপের পুরো লেআউটটি এমনকি টুস্টার্টফ / টুঅ্যান্ডঅফ ইত্যাদি ফ্লিপ করবে না ...?
TWiStErRob

14
এটি ভুল উত্তর। এটি ডান থেকে বামে ক্রিয়াকলাপের পুরো লেআউটটিকে ফ্লিপ করে।
তরুণ

4
ভেবেছি এটির দ্রুত সমাধান কিন্তু সঠিক সমাধান নয়।
সিদ্ধংশু

37

সমাধান


your_layout.xML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="end">

    <include layout="@layout/app_bar_root"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:fitsSystemWindows="true"
        app:itemTextColor="@color/black"
        app:menu="@menu/activity_root_drawer" />

</android.support.v4.widget.DrawerLayout>

আপনারঅ্যাক্টিভিটি.জভা:

@Override
protected void onCreate(Bundle savedInstanceState) {
//...
toolbar = (Toolbar) findViewById(R.id.toolbar);

drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();

toolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            if (drawer.isDrawerOpen(Gravity.RIGHT)) {
                drawer.closeDrawer(Gravity.RIGHT);
            } else {
                drawer.openDrawer(Gravity.RIGHT);
            }
        }
    });
//...
}

4
দুর্দান্ত কাজ করে। তবে সরঞ্জামদণ্ডের আইকনটি এখনও বামদিকে উপস্থিত রয়েছে। টগল বোতামের আইকনটি কীভাবে ডানে আনতে হবে?
দারুশ

আমি অ্যান্ড্রয়েড দিয়েছি: ড্রয়ারলআউট এবং নেভিগেশনভিউ উভয়ের জন্য লেআউট_গ্রাভিটি = "শেষ", এটির কাজ ঠিক আছে।
varotariya vajsi

toolbar.setNavigationOnClickListenerমিনিট এপি লেভেল 21 :(
সেপ্টেপ্রো 2.4

@ সেপজ্যাপ্রো 2.4 হ্যাঁ, তবে From August 2018, new apps must target at least Android 8.0 (API level 26). From November 2018, app updates must target Android 8.0 (API level 26).(গুগল)
ভোলাডাইমির কুলিক

4
অ্যান্ড্রয়েড যুক্ত করুন: ট্যাপল বোতামটি ডানদিকে সেট করতে আপনার অ্যাপবারলআউট এক্সএমএলে লেআউটডাইরেশন = "আরটিএল"
টেরানোলজি

4

এই উত্তরটি নেভিগেশনটি ডান থেকে বামে খোলা রাখতে সেট করতে দরকারী, তবে এটির আইকনটি ডানদিকে সেট করার কোনও সমাধান নেই। এই কোডটি এটি ঠিক করতে পারে। আপনি যদি drawerএটির প্রথম ViewCompat.LAYOUT_DIRECTION_RTLপ্যারাম হিসাবে এবং এটির দ্বিতীয় প্যারাম হিসাবে দেন তবে এনিয়েটিয়ার লেআউটটি আরটিএলে সেট করা হবে। এটি একটি দ্রুত এবং সরল সমাধান, তবে আমি মনে করি না যারা কে কেবল মেনুটি ডান থেকে বামে খুলতে এবং তার আইকনটি ডানদিকে রেখে সেট করতে চান তার পক্ষে এটি সঠিক সমাধান হতে পারে। (যদিও এটি আপনার উদ্দেশ্য নির্ভর করে)) তবে আমি এর toolbarপরিবর্তে দেওয়ার পরামর্শ দিই drawer। এইভাবে কেবল সরঞ্জামদণ্ডটি আরটিএল হয়ে গেছে। সুতরাং আমি মনে করি এই 2 টি উত্তরের সংমিশ্রণটি আপনি যা চান ঠিক তা করতে পারে।

এই বর্ণনানুসারে আপনার কোডটি এমন হওয়া উচিত:

(এই রেখাগুলি অনক্রিয়েট পদ্ধতিতে যুক্ত করুন)

final DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); // Set it final to fix the error that will be mention below.

    ViewCompat.setLayoutDirection(toolbar, ViewCompat.LAYOUT_DIRECTION_RTL);

    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (drawer.isDrawerOpen(Gravity.RIGHT))
                drawer.closeDrawer(Gravity.RIGHT);
            else
                drawer.openDrawer(Gravity.RIGHT);
        }
    });

লক্ষ্য করুন যে আপনার ড্রয়ারটি চূড়ান্ত করা উচিত, অন্যথায় আপনি এই ত্রুটিটি পাবেন:

পরিবর্তনশীল 'ড্রয়ার' অভ্যন্তর শ্রেণীর মধ্যে থেকে অ্যাক্সেস করা হয়, চূড়ান্ত ঘোষণা করা দরকার needs

এবং ব্যবহার করতে ভুলবেন না endপরিবর্তে startমধ্যে onNavigationItemSelectedপদ্ধতি:

drawer.closeDrawer(GravityCompat.END);

এবং আপনার কার্যকলাপ_মোহন.এক্সএমএল এ

<android.support.v4.widget.DrawerLayout 
   android:id="@+id/drawer_layout"
   tools:openDrawer="end">

   <android.support.design.widget.NavigationView
      android:id="@+id/nav_view"
      android:layout_gravity="end"/>
</android.support.v4.widget.DrawerLayout>

3

এখানে ড্রয়ারের ডকুমেন্টেশন রয়েছে এবং এটি প্রদর্শিত হয় যে আপনি বাম বা ডান থেকে টানতে এটি কনফিগার করতে পারেন।

ড্রয়ারের অবস্থান এবং লেআউটটি অ্যান্ড্রয়েড ব্যবহার করে নিয়ন্ত্রণ করা হয়: লেআউট_গ্রাভিটি বৈশিষ্ট্যটি শিশু দর্শনগুলির উপর নির্ভর করে আপনি যে দর্শনটি ড্রয়ারটি থেকে বাম বা ডান দিক থেকে উত্থিত হতে চান তার সাথে সম্পর্কিত views (বা বিন্যাসের দিকনির্দেশকে সমর্থন করে এমন প্ল্যাটফর্ম সংস্করণগুলিতে শুরু / শেষ করুন))

http://developer.android.com/references/android/support/v4/widget/DrawerLayout.html


আমি এই উত্তরটি আগে দেখেছি এবং এটি আমার প্রশ্নেও উল্লেখ করেছি।
গ্যালভান

ঠিক আছে. মাধ্যাকর্ষণ endপরিবর্তে ব্যবহার করার চেষ্টা করুন right। সম্পাদনা: android:layout_gravity="right"এখান থেকে সরান android.support...DrawerLayoutএবং ভিতরে পরিবর্তন android:layout_gravity="right"করুনandroid:layout_gravity="end"ListView
কিকআস

4
তবুও ত্রুটিটি পেয়েছি: পরম মাধ্যাকর্ষণ বাম সাথে কোনও ড্রয়ার ভিউ পাওয়া যায় নি। আমি ম্যানিফেস্টে অ্যান্ড্রয়েডে যুক্ত করেছি: সমর্থনআরটেল = "সত্য", এবং এক্সএমএলটিতে ড্রয়ারের অধীনে আমি অ্যান্ড্রয়েড যুক্ত করেছি: বিন্যাসনির্দেশ = "আরটিএল", এবং তারপরে মেনুটি ডানদিকে খোলে, তবে এখন এটি বন্ধ হয় না যখন আমি চিকিত করি মেনু বোতামটি (অ্যাকশন বারে) যখন আমি তালিকার কোনও আইটেমটিতে ক্লিক করি বা তালিকা থেকে বাইরে এটি বন্ধ হয়ে যায় তবে যখন আমি অ্যাকশন বারের মেনু বোতামটিতে ক্লিক করি তখন কোনও ধারণা কেন?
গ্যালভান

আমি পুরোপুরি নিশ্চিত নই, তবে ... যেহেতু ড্রয়ারের দিক এবং অবস্থান এখন পরিবর্তিত হয়েছে, আপনার ক্রিয়াকলাপে, অ্যান্ড্রয়েড উদাহরণ অনুসারে, আপনার টগল স্যুইচ পদ্ধতি / বোতাম শ্রোতা থাকা উচিত, এটি হওয়া দরকার কিনা তা পরীক্ষা করে দেখুন পরিবর্তিত হয়েছে যাতে এটি ডানটোলফিটটিকে সরিয়ে দিয়ে বন্ধ করতে জানে। এটি মেনু ধরে রাখা ইতিমধ্যে বাম দিকে (যেমন লুকানো) ভাবছে তাই এটি বন্ধ হয়ে যাবে না (যদি তা বোঝা যায়) ...
কিকআস

বন্ধুরা, আমি একই ধরণের জিনিসটিও করছি তবে যদি লাউটড্রাইশন = "আরটিএল" ব্যবহার করেন তবে আমাকে মিনিএসডিকে 17 হিসাবে পরিবর্তন করতে হবে তবে আমার অ্যাপ্লিকেশনটির জন্য এপিআই স্তরটি 10 ​​সমর্থন করা দরকার আপনি কি আমাকে সাহায্য করতে পারেন যাতে আমার অ্যাপ্লিকেশনটি এপিআই 10 সমর্থন করতে পারে?
আদিত্য

3

এটি একবার দেখুন: ড্রেজারলয়েআউট ফর্মের ডান থেকে বামে ExpandableListView স্লাইড করুন

আমি ধরে নিলাম আপনার কাছে অ্যাকশনবারড্রওয়ারটগল প্রয়োগ করা হয়েছে, কৌশলটি এটি onOptionsItemSelected(MenuItem item)দিয়ে অ্যাকশনবার্ড্রওয়ারটগল অবজেক্টের অভ্যন্তরের পদ্ধতিটি ওভাররাইড করে :

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item != null && item.getItemId() == android.R.id.home) {
            if (mDrawer.isDrawerOpen(Gravity.RIGHT)) {
                mDrawer.closeDrawer(Gravity.RIGHT);
            } else {
                mDrawer.openDrawer(Gravity.RIGHT);
            }
            return true;
        }
        return false;
    }

onOptionsItemSelected(MenuItem item)কার্যকলাপে এটি নিশ্চিত করুন এবং কল করুন :

@Override
public boolean onOptionsItemSelected(MenuItem item) {

if(mDrawerToggle.onOptionsItemSelected(item)) {
    return true;
}

return super.onOptionsItemSelected(item);
}

এটি আপনাকে হোম বোতামের কার্যকারিতাটি ব্যবহার করার অনুমতি দেবে। অ্যাকশন বারের ডানদিকে বোতামটি সরাতে আপনাকে একটি কাস্টম অ্যাকশন আইটেমটি প্রয়োগ করতে হবে এবং এটি আপনার পছন্দ মতো কাজ করার জন্য অন্য কোনও জিনিস থাকতে পারে।


3

নিম্নলিখিত ত্রুটি সহ প্রধান সমস্যা:

নিখুঁত মাধ্যাকর্ষণ LEFT সহ কোনও ড্রয়ার দর্শন পাওয়া যায় নি

যে, আপনি সংজ্ঞায়িত

android:layout_gravity="right"

ডানদিকে তালিকার দেখার জন্য, তবে এই ফাংশনটি কল করে বাম থেকে ড্রয়ারটি খোলার চেষ্টা করুন:

mDrawerToggle.syncState();

এবং হ্যামবার্গার আইকনে ক্লিক করুন!

কেবল উপরের ফাংশনটিতে মন্তব্য করুন এবং মেনু খুলতে / বন্ধ করার মতো হ্যান্ডেল করার চেষ্টা করুন @ রুডি বলেছিলেন!


3

আমি নেভিগেশন ভিউয়ের মাধ্যাকর্ষণ পরিবর্তন করে এই সমস্যার সমাধান করেছি

অ্যান্ড্রয়েড: লেআউট_গ্রাভিটি

থেকে শেষ পরিবর্তে শুরু

<android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header"
        app:menu="@menu/activity_drawer" />

এটা আমার জন্য কাজ করেছে।


2

আপনাকে প্রথমে এই অ্যাপ্লিকেশন ট্যাগটিতে আপনার AppManLive.xML এ কোডটি রাখা উচিত:

android:supportsRtl="true"

তারপরে আপনার কার্যকলাপ_মন.এক্সএমএল ফাইলটিতে কোডের এই অংশটি রাখুন:

android:layout_direction="rtl"

এটাই সর্বকালের সেরা সমাধান, আপনি আমার দিনটিকে বাঁচাতে ধন্যবাদ ধন্যবাদ
আহমেদ মৌসা

2

আমি অ্যান্ড্রয়েড স্টুডিওতে নেভিগেশন ড্রয়ার ক্রিয়াকলাপের উদাহরণটিতে পরিবর্তন করেছি। সমর্থন লাইব্রেরি সহ 25.3.1।

মেইনএ্যাকটিভিটি.জভা:

private DrawerLayout mDrawerLayout;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }

    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
}

@Override
public void onBackPressed() {
    if (mDrawerLayout.isDrawerOpen(GravityCompat.END)) {
        mDrawerLayout.closeDrawer(GravityCompat.END);
    } else {
        super.onBackPressed();
    }
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int itemId = item.getItemId();
    switch (itemId) {
        case android.R.id.home:
            finish();
            return true;

        case R.id.action_right_drawer:
            if (mDrawerLayout.isDrawerOpen(GravityCompat.END)) {
                mDrawerLayout.closeDrawer(GravityCompat.END);
            } else {
                mDrawerLayout.openDrawer(GravityCompat.END);
            }
            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
}

@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.

    mDrawerLayout.closeDrawer(GravityCompat.END);
    return true;
}

মূল.এক্সএমএল ( https://matory.io/icons/ থেকে আইসি_মেনু_সোভাইট_24px ডাউনলোড করুন ):

<?xml version="1.0" encoding="utf-8"?>
    <menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_right_drawer"
        android:title="Drawer menu"
        android:icon="@drawable/ic_menu_white_24px"
        android:orderInCategory="100"
        app:showAsAction="always" />
</menu>

কার্যকলাপ_মন.এক্সএমএল পরিবর্তনতে

android:layout_gravity="start"

প্রতি

android:layout_gravity="end"

2

এটি আরটিএল থেকে উন্মুক্ত করা ব্যবহারকারীর অভিজ্ঞতার পক্ষে ভাল নয়, এটির ব্যবহারকারীর লোকের কাছে প্রতিক্রিয়াশীল করার জন্য আমি আমার ড্রয়ারলআউট প্যারামিটারগুলিতে নিম্নলিখিত লাইনটি কেবল যুক্ত করেছি:

android:layoutDirection="locale"

হ্যামবার্গার লেআউটটি ড্রয়ারের খোলার দিকের দিকটিও মেলানোর জন্য এটি আমার অ্যাপবারআলআউটে যুক্ত করেছে।


1

ড্রয়ারলআউট বৈশিষ্ট্য android:layout_gravity="right|end"এবং tools:openDrawer="end" নেভিগেশনভিউ সম্পত্তি android:layout_gravity="end"

XML Layout

<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    android:layout_gravity="right|end"
    tools:openDrawer="end">

    <include layout="@layout/content_main" />

    <com.google.android.material.navigation.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="end"
        android:fitsSystemWindows="true"
        app:headerLayout="@layout/nav_header_main"
        app:menu="@menu/activity_main_drawer" />

</androidx.drawerlayout.widget.DrawerLayout>

Java Code

// Appropriate Click Event or Menu Item Click Event

if (drawerLayout.isDrawerOpen(GravityCompat.END)) 
{
     drawerLayout.closeDrawer(GravityCompat.END);
} 
else 
{
     drawerLayout.openDrawer(GravityCompat.END);
}
//With Toolbar
toolbar = (Toolbar) findViewById(R.id.toolbar);

drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();

toolbar.setNavigationOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            //Gravity.END or Gravity.RIGHT
            if (drawer.isDrawerOpen(Gravity.END)) {
                drawer.closeDrawer(Gravity.END);
            } else {
                drawer.openDrawer(Gravity.END);
            }
        }
    });
//...
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.