android - Actionbar using customview and menuitems -


  एक्शनबियर एक्शनबार = getActionBar (); actionBar.setDisplayOptions (ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView (R.layout.myLayout); ... @ ओवरराइड पब्लिक बूलियन ऑन क्रेट ऑप्शन मेन्यू (मेनू मेनू) {getMenuInflater ()। फुलाएँ (आर.मेनू.मैं मेनू, मेनू); मेनूबार = मेनू; वापस सच; }  

myLayout.xml

  & lt; RelativeLayout xmlns: एंड्रॉइड = "http://schemas.android.com/apk/res/android" एंड्रॉइड: layout_width = "match_parent" एंड्रॉइड: layout_height = "match_parent" & gt; & Lt; ImageView एंड्रॉइड: layout_width = "40dp" एंड्रॉइड: layout_height = "40dp" एंड्रॉइड: layout_centerInparent = "true" एंड्रॉइड: src = "@ ड्रॉएबल / माय आईजेज" / & gt; & Lt; / RelativeLayout & gt;  

myMenu.xml

  & lt; मेनू xmlns: एंड्रॉइड = "http://schemas.android.com/apk/res/android" & gt; एंड्रॉइड: एंड्रॉइड: showAsAction = "हमेशा" एंड्रॉइड: दृश्यमान = "झूठे" एंड्रॉइड: शीर्षक = "@ स्ट्रिंग / मेनू 1" & gt; एंड्रॉइड: & gt; & Lt; / मद & gt; & Lt; item android: id = "@ + id / menuItem2" एंड्रॉइड: आइकन = "@ रेखाचित्र / आइकन 2" एंड्रॉइड: showAsAction = "हमेशा" एंड्रॉइड: शीर्षक = "@ स्ट्रिंग / मेनू 2" & gt; & Lt; / मद & gt; & Lt; / मेनू & gt;  

मेरे पास एक कस्टम दृश्य है जो मैं एक्शनबार के बीच में एक छवि रखने के लिए उपयोग करता हूं हालांकि, जब मैंने MenuItem s को एक्शनबार पर डाल दिया, तो छवि को बाईं ओर धकेल दिया जाता है मैं नहीं जानता कि कैसे छवि को केन्द्रित करें या पूरे ActionBar चौड़ाई लेने के लिए रिलेटिव लेआउट को भरें। मैंने कई अलग अलग चीजों की कोशिश की लेकिन अब तक मुझे कोई भाग्य नहीं मिला। कोई भी मदद की सराहना की जाएगी।

जब आप अपना कस्टम दृश्य जोड़ते हैं, तो आप अपने देखें

आप जो करने की कोशिश कर रहे हैं, आप ऐसा करने के लिए अपना कोड बदल सकते हैं:

mLayout.xml

  & lt; linearLayout xmlns : Android = "http://schemas.android.com/apk/res/android" एंड्रॉइड: layout_width = "wrap_content" एंड्रॉइड: layout_height = "wrap_content" & gt; & Lt; ImageView एंड्रॉइड: लेआउट_विड्थ = "40 डीपी" एंड्रॉइड: लेआउट_हेइट = "40 डीपी" एंड्रॉइड: src = "@ ड्रॉएबल / माय आईजेज" / & gt; & Lt; / LinearLayout & gt;  

कहीं भी onCreate (बंडल बी) :

  सार्वजनिक शून्य सेटअपएक्शनबार () {देखें दृश्य = getLayoutInflater () देखें) बढ़ (R.layout.mLayout); ActionBar.LayoutParams lp = नया एक्शनबार। लेआउटप्रम्स (लेआउट पर्म। WRAP_CONTENT, लेआउट पैरा। WRAP_CONTENT, Gravity.CENTER); अंतिम एक्शनबार बार = getActionBar (); bar.setDisplayOptions (ActionBar.DISPLAY_SHOW_CUSTOM); Bar.setCustomView (देखें, एलपी); }  

Comments