ऐक्शन बार, गतिविधि के टाइटल को एक तरफ़ और ओवरफ़्लो मेन्यू को दूसरी तरफ़ दिखाता है. ऐक्शन बार, उपयोगकर्ताओं को काम की जानकारी देता है. साथ ही, Android ऐप्लिकेशन को एक जैसा लुक और फ़ील देता है.
डिफ़ॉल्ट थीम का इस्तेमाल करने वाली सभी गतिविधियों में, ActionBar को ऐप्लिकेशन बार के तौर पर इस्तेमाल किया जाता है. Android के अलग-अलग वर्शन में, नेटिव ActionBar में ऐप्लिकेशन बार की सुविधाएं जोड़ी जाती हैं. इसलिए, किसी डिवाइस पर Android के वर्शन के हिसाब से, नेटिव ActionBar अलग-अलग तरीके से काम करता है.
दूसरी ओर, AndroidX AppCompat लाइब्रेरी के Toolbar वर्शन में सुविधाएं जोड़ी जाती हैं. इसका मतलब है कि ये सुविधाएं, 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() को कॉल करें.