2013-10-13 6 views
7

में मेनू आइटम पाठ निम्नलिखित कोडमध्य में समन्वित एंड्रॉयड

<item 
    android:id="@+id/text" 
    android:title="@string/mainMenu" 
    android:enabled="false" 
    android:layout_gravity="center"> 
</item> 

का उपयोग करते हुए मैं एक शैली

<style name="MenuTextStyle" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textColor">6F6B6B</item> 
    <item name="android:gravity">center_horizontal</item> 
    <item name="android:textStyle">bold</item> 
    <item name="android:textSize">14sp</item> 

रूप में परिभाषित किया लेकिन मेनू पाठ अभी भी बीच में नहीं है। इसे मध्य में कैसे बनाया जाए?

उत्तर

9

आप गतिशील रूप से आपकी गतिविधि में SpannableString का उपयोग कर मेनू आइटम केंद्र संरेखित कर सकते हैं:

int positionOfMenuItem = 0; //or any other postion 
MenuItem item = menu.getItem(positionOfMenuItem); 
SpannableString s = new SpannableString(settingsItemTitle); 

s.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_CENTER), 0, s.length(), 0); 

item.setTitle(s); 
+0

यह पूरी तरह से काम किया, धन्यवाद! – kevinkl3

+0

नोट: यह क्षैतिज पर बस केंद्र है – Guihgo

0

एक और तरीका है इस लक्ष्य को हासिल करने के लिए विषय

<android.support.design.widget.NavigationView 
    android:id="@+id/nav_view" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeToolbar.NavigationViewPadding" 
    app:itemTextColor="@color/inverse_color" 
    app:itemIconTint="@color/inverse_color" 
    app:itemBackground="@drawable/selector_navigation" 
    app:headerLayout="@layout/activity_home_nav_header" 
    app:menu="@menu/activity_home_drawer" /> 

की स्थापना अपनी शैली में के माध्यम से है

<style name="ThemeToolbar.NavigationViewPadding"> 
    <item name="listPreferredItemPaddingLeft">50dp</item> 
    </style> 

How it looks like

0

मैंने इस पृष्ठ को पाया, इस पृष्ठ को मिला। @ Mmm00d का तरीका इस्तेमाल किया, जो पूरी तरह से काम करता था। लेकिन आखिरकार मुझे समस्या को हल करने का एक और तरीका मिल गया। यह है: स्ट्रिंग से पहले \ t जोड़ें, अगर अंतरिक्ष पर्याप्त नहीं है , मैं और जोड़ सकता हूँ।

क्योंकि चीनी शब्द एक-एक करके है, इसलिए आइटम की लंबाई समान है। इस तरह से अन्य बहुत अच्छी तरह से काम करता है।

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