अपने सबसे सामान्य रूप में, कार्रवाई बार एक ओर गतिविधि का टाइटल दिखाता है और दूसरी ओर ओवरफ़्लो मेन्यू दिखाता है. इस बुनियादी फ़ॉर्म में भी, ऐप्लिकेशन बार उपयोगकर्ताओं को काम की जानकारी देता है. साथ ही, Android ऐप्लिकेशन को एक जैसा लुक और फ़ील देता है.
डिफ़ॉल्ट थीम का इस्तेमाल करने वाली सभी गतिविधियों में, ऐप्लिकेशन बार के तौर पर ActionBar
होता है. ऐप्लिकेशन बार की सुविधाएं, Android के अलग-अलग रिलीज़ में, नेटिव ActionBar
में जोड़ी गई हैं. इस वजह से, नेटिव ActionBar
अलग तरीके से काम करता है. यह इस बात पर निर्भर करता है कि डिवाइस में Android के किस वर्शन का इस्तेमाल किया जा रहा है.
दूसरी ओर, Toolbar
के AndroidX AppCompat लाइब्रेरी के वर्शन में सुविधाएं जोड़ी गई हैं. इसका मतलब है कि ये सुविधाएं, AndroidX लाइब्रेरी का इस्तेमाल करने वाले डिवाइसों पर उपलब्ध हैं.
इसलिए, अपनी गतिविधियों के ऐप्लिकेशन बार लागू करने के लिए, AndroidX लाइब्रेरी की Toolbar
क्लास का इस्तेमाल करें. AndroidX लाइब्रेरी के टूलबार का इस्तेमाल करने से, आपके ऐप्लिकेशन का व्यवहार अलग-अलग डिवाइसों पर एक जैसा रहता है.
किसी गतिविधि में टूलबार जोड़ना
यहांToolbar
को अपनी गतिविधि के ऐप्लिकेशन बार के तौर पर सेट अप करने का तरीका बताया गया है:
- अपने प्रोजेक्ट में AndroidX लाइब्रेरी जोड़ें, जैसा कि AndroidX की खास जानकारी में बताया गया है.
- पक्का करें कि गतिविधि इनके लिए चालू हो
AppCompatActivity
:Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- ऐप्लिकेशन मेनिफ़ेस्ट में, ऐप्लिकेशन के लिए
<application>
एलिमेंट को सेट करें, ताकि AppCompat कीNoActionBar
थीम में से किसी एक का इस्तेमाल किया जा सके. इस उदाहरण में दिखाया गया है कि यह कैसे किया जा सकता है. इनमें से किसी एक थीम का इस्तेमाल करने पर, ऐप्लिकेशन बार उपलब्ध कराने के लिए, ऐप्लिकेशन नेटिवActionBar
क्लास का इस्तेमाल नहीं कर पाता.<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- गतिविधि के लेआउट में
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"/>
ऐप्लिकेशन बार की ऊंचाई से जुड़े सुझावों के लिए, मटीरियल डिज़ाइन स्पेसिफ़िकेशन देखें.
टूलबार को गतिविधि के लेआउट में सबसे ऊपर रखें, क्योंकि इसका इस्तेमाल ऐप्लिकेशन बार के तौर पर किया जा रहा है.
- ऐक्टिविटी के
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()
को कॉल करें.