ऐप्लिकेशन बार को सेट अप करना

लिखने का तरीका आज़माएं
Android के लिए, Jetpack Compose हमारा सुझाया गया यूज़र इंटरफ़ेस (यूआई) टूलकिट है. Compose में कॉम्पोनेंट जोड़ने का तरीका जानें.

अपने सबसे सामान्य रूप में, कार्रवाई बार एक ओर गतिविधि का टाइटल दिखाता है और दूसरी ओर ओवरफ़्लो मेन्यू दिखाता है. इस बुनियादी फ़ॉर्म में भी, ऐप्लिकेशन बार उपयोगकर्ताओं को काम की जानकारी देता है. साथ ही, Android ऐप्लिकेशन को एक जैसा लुक और फ़ील देता है.

Android ऐप्लिकेशन में Now का ऐप्लिकेशन बार दिखाने वाली इमेज
पहला डायग्राम. "Android पर अब उपलब्ध है" ऐप्लिकेशन में, ऐक्शन आइकॉन वाला ऐप्लिकेशन बार.

डिफ़ॉल्ट थीम का इस्तेमाल करने वाली सभी गतिविधियों में, ऐप्लिकेशन बार के तौर पर ActionBar होता है. ऐप्लिकेशन बार की सुविधाएं, Android के अलग-अलग रिलीज़ में, नेटिव ActionBar में जोड़ी गई हैं. इस वजह से, नेटिव ActionBar अलग तरीके से काम करता है. यह इस बात पर निर्भर करता है कि डिवाइस में Android के किस वर्शन का इस्तेमाल किया जा रहा है.

दूसरी ओर, Toolbar के AndroidX AppCompat लाइब्रेरी के वर्शन में सुविधाएं जोड़ी गई हैं. इसका मतलब है कि ये सुविधाएं, AndroidX लाइब्रेरी का इस्तेमाल करने वाले डिवाइसों पर उपलब्ध हैं.

इसलिए, अपनी गतिविधियों के ऐप्लिकेशन बार लागू करने के लिए, AndroidX लाइब्रेरी की Toolbar क्लास का इस्तेमाल करें. AndroidX लाइब्रेरी के टूलबार का इस्तेमाल करने से, आपके ऐप्लिकेशन का व्यवहार अलग-अलग डिवाइसों पर एक जैसा रहता है.

किसी गतिविधि में टूलबार जोड़ना

यहां Toolbar को अपनी गतिविधि के ऐप्लिकेशन बार के तौर पर सेट अप करने का तरीका बताया गया है:
  1. अपने प्रोजेक्ट में AndroidX लाइब्रेरी जोड़ें, जैसा कि AndroidX की खास जानकारी में बताया गया है.
  2. पक्का करें कि गतिविधि इनके लिए चालू हो AppCompatActivity:

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
  3. ऐप्लिकेशन मेनिफ़ेस्ट में, ऐप्लिकेशन के लिए <application> एलिमेंट को सेट करें, ताकि AppCompat की NoActionBar थीम में से किसी एक का इस्तेमाल किया जा सके. इस उदाहरण में दिखाया गया है कि यह कैसे किया जा सकता है. इनमें से किसी एक थीम का इस्तेमाल करने पर, ऐप्लिकेशन बार उपलब्ध कराने के लिए, ऐप्लिकेशन नेटिव ActionBar क्लास का इस्तेमाल नहीं कर पाता.
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
  4. गतिविधि के लेआउट में Toolbar जोड़ें. उदाहरण के लिए, नीचे दिया गया लेआउट कोड, Toolbar को जोड़ता है और इसे गतिविधि के ऊपर फ़्लोट करने वाला दिखाता है:
    <androidx.appcompat.widget.Toolbar
       android:id="@+id/my_toolbar"
       android:layout_width="match_parent"
       android:layout_height="?attr/actionBarSize"
       android:background="?attr/colorPrimary"
       android:elevation="4dp"
       android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

    ऐप्लिकेशन बार की ऊंचाई से जुड़े सुझावों के लिए, मटीरियल डिज़ाइन स्पेसिफ़िकेशन देखें.

    टूलबार को गतिविधि के लेआउट में सबसे ऊपर रखें, क्योंकि इसका इस्तेमाल ऐप्लिकेशन बार के तौर पर किया जा रहा है.

  5. ऐक्टिविटी के onCreate() मैथड में, ऐक्टिविटी के setSupportActionBar() मैथड को कॉल करें और ऐक्टिविटी का टूलबार पास करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है. इस तरीक़े से, टूलबार को गतिविधि के लिए ऐप्लिकेशन बार के तौर पर सेट किया जाता है.

    Kotlin

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_my)
        // The Toolbar defined in the layout has the id "my_toolbar".
        setSupportActionBar(findViewById(R.id.my_toolbar))
    }

    Java

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);
        Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
        setSupportActionBar(myToolbar);
    }

आपके ऐप्लिकेशन में अब एक बुनियादी ऐक्शन बार है. डिफ़ॉल्ट रूप से, कार्रवाई बार में ऐप्लिकेशन का नाम और एक ओवरफ़्लो मेन्यू होता है, जिसमें शुरू में सेटिंग आइटम होता है. कार्रवाइयों को जोड़ना और मैनेज करना में बताए गए तरीके से, ऐक्शन बार और ओवरफ़्लो मेन्यू में ज़्यादा कार्रवाइयां जोड़ी जा सकती हैं.

ऐप्लिकेशन बार इस्तेमाल करने के तरीकों का इस्तेमाल करना

टूलबार को ऐक्टिविटी के ऐप्लिकेशन बार के तौर पर सेट करने के बाद, आपके पास AndroidX लाइब्रेरी की ActionBar क्लास से मिलने वाले यूटिलिटी तरीकों का ऐक्सेस होता है. इस तरीके से, कई काम किए जा सकते हैं. जैसे, ऐप्लिकेशन बार को छिपाना और दिखाना.

ActionBar यूटिलिटी के तरीकों का इस्तेमाल करने के लिए, गतिविधि के getSupportActionBar() तरीके को कॉल करें. यह तरीका, AppCompat ActionBar ऑब्जेक्ट का रेफ़रंस दिखाता है. वह रेफ़रंस मिलने के बाद, ऐप्लिकेशन बार को अडजस्ट करने के लिए, किसी भी ActionBar तरीके को कॉल किया जा सकता है. उदाहरण के लिए, ऐप्लिकेशन बार को छिपाने के लिए, ActionBar.hide() को कॉल करें.