Java android中的居中对齐菜单项文本
使用以下代码Java android中的居中对齐菜单项文本,java,android,eclipse,Java,Android,Eclipse,使用以下代码 <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
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>
6F6B
水平中心
大胆的
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);
实现这一点的另一种方法是设置主题
<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" />
我使用了@Mahm00d的方法,效果非常好,但我找到了另一种解决问题的方法。在字符串之前添加\t
。如果空间不够,我可以多加一些
因为中文单词是一个接一个的,所以项目的长度是相同的。注意:这只是中心horizontal@ParthPatel在你的onCreate中。
<style name="ThemeToolbar.NavigationViewPadding">
<item name="listPreferredItemPaddingLeft">50dp</item>
</style>