8

मैं अपना खुद का एंड्रॉइड एप्लिकेशन विकसित कर रहा हूं और मैं एक ऐसे बिंदु पर आया जहां मेरे पास तीन अलग-अलग गतिविधियां हैं गतिविधि ए, गतिविधि बी और गतिविधि सी। अब मैं क्या करना चाहता हूं नेविगेशन ड्रॉवर बनाना उनके बीच नेविगेट करने के लिए। मैंने एंड्रॉइड डेवलपर्स वेबसाइट पर ट्यूटोरियल पढ़ा लेकिन वे केवल फ्रैगमेंट्स पर केंद्रित थे। व्यावसायिक एंड्रॉइड एप्लिकेशन केवल एक गतिविधि के साथ कैसे विकसित किए जाते हैं और अन्य सभी स्क्रीनें फ्रैगमेंट्स के उपयोग के साथ विकसित की जाती हैं? यदि नहीं, तो दस्तावेज़ों के बजाय नेविगेशन ड्रॉवर को सही तरीके से कार्यान्वित करने का तरीका क्यों नहीं है? आपकी मदद के लिए धन्यवाद।एंड्रॉइड नेविगेशन ड्रॉवर क्रियाकलापों के साथ कार्यान्वित

+1

ध्यान दें कि प्रलेखन कह रहा है कि आप केवल मामले में एक नेविगेशन ड्रॉर का उपयोग करना चाहिए देख सकते हैं आप तीन से अधिक शीर्ष स्तर के दृश्य हैं। –

+1

नेविगेशन ड्रॉवर के संदर्भ में Google Play Store को विकसित करने के लिए यह और अधिक विशिष्ट बनाने के लिए ठीक है? – koufa

+0

देखें http://www.gadgetsaint.com/android/android-navigation-drawer-toolbar/#.WOBABBJ97fY – ASP

उत्तर

16

आपको Base activity बनाने की आवश्यकता है जो सभी सामान्य Drawer navigation सामान बनाता है। मैं इस आधार Activity को DrawerActivity के रूप में कॉल करूंगा, और अन्य सभी Activity को DrawerActivity का विस्तार करना चाहिए। तो सभी Activity में Drawer Layout का एक उदाहरण होगा।

DrawerLayout के साथ एक आम लेआउट बनाएँ और बच्चे के रूप में एक FrameLayout और ListView जगह

<android.support.v4.widget.DrawerLayout> 
    <FrameLayout 
    android:id="@+id/activity_frame”/> 
    <ListView 
    android:id="@+id/left_drawer”/> 
</android.support.v4.widget.DrawerLayout> 

अब DrawerActivity

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_drawer_layout); 
    // do other stuff to initialize drawer layout, add list items 
    ……… 
    ………. 
    // add a listener to the drawer list view 
mLeftDrawerList.setOnItemClickListener(new DrawerItemClickListener()); 

}

पर onCreate() में इस लेआउट सेट एक आइटम क्लिक श्रोता जोड़ें

private class DrawerItemClickListener implements ListView.OnItemClickListener { 
    @Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { 
     switch (position) { 
      case 0: { 
       Intent intent = new Intent(DrawerActivity.this, YourActivity.class); 
       startActivity(intent); 
       break; 
      } 
      default: 
       break; 
     } 
     mDrawerLayout.closeDrawer(mLeftDrawerList); 
    } 
} 

अंत में, सभी अन्य गतिविधि इस DrawerActivity

public class MainActivity extends DrawerActivity { 

    @Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // don’t set any content view here, since its already set in DrawerActivity 
    FrameLayout frameLayout = (FrameLayout)findViewById(R.id.activity_frame); 
    // inflate the custom activity layout 
    LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View activityView = layoutInflater.inflate(R.layout.activity_main, null,false); 
    // add the custom layout of this activity to frame layout. 
    frameLayout.addView(activityView); 
    // now you can do all your other stuffs 
    } 
} 

का विस्तार होगा आप पूरा स्रोत यहाँ https://gist.github.com/libinbensin/613dea436302d3015563

+0

कृपया एक गतिविधि का एक पूरा उदाहरण प्रदान करें जो ड्रॉवर एक्टिविटी बढ़ाता है। मैंने अपना लेआउट बढ़ाया और फ्रेम लेआउट के बालदृश्य के रूप में जोड़ा। लेकिन यह काम नहीं करता है। मुझे सिर्फ लेआउट फ्रेम करने के लिए इस गतिविधि के अपने कस्टम लेआउट को जोड़ने की आवश्यकता है।), इसे सही तरीके से कैसे करें। – ayon

+0

मेरा अद्यतन उत्तर देखें। आपको अपने 'गतिविधि' लेआउट को' बढ़ाने 'की आवश्यकता है और इसे' फ्रेमलेआउट 'में एक बच्चे के रूप में जोड़ें। अगर आपको अभी भी कोई समस्या दिखाई दे तो मुझे बताएं – Libin

+0

आह ... मैंने बिल्कुल वही कोड किया है, लेकिन मैंने लेआउट को बढ़ाने के लिए ViewLroup पैरामीटर के रूप में फ्रेमलाउट सेट किया है। शायद यही कारण है कि मेरा ऐप अनंत लूप में गिरने लगता है। मैं कोशिश करूँगा, अगर यह काम करता है तो यह बहुत मददगार होगा। आपकी मदद के लिए बहुत बहुत धन्यवाद। – ayon

-5

आप प्रत्येक गतिविधि में एक नेविगेशन ड्रावर कर सकते हैं, विकल्पों की एक ही सूची के साथ आबादी।

+0

मैंने इसके बारे में सोचा है, लेकिन क्या यह एक आम प्रथा है? – koufa

+0

जो भी इसे कम करता है, कृपया बताएं क्यों। – Karakuri

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