在android中对齐中心菜单项文本

Muh*_*mar 12 java eclipse android

使用以下代码

<item 
    android:id="@+id/text"
    android:title="@string/mainMenu"
    android:enabled="false"
    android:layout_gravity="center">
</item>
Run Code Online (Sandbox Code Playgroud)

我的风格定义为

<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>
Run Code Online (Sandbox Code Playgroud)

但是菜单文本仍然不在中间.如何让它居中?

Mah*_*00d 14

您可以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);
Run Code Online (Sandbox Code Playgroud)