java - 如何隐藏导航栏中的默认徽标空间?
问题描述
目前,我的导航抽屉在“设置和隐私”项目之前显示了一个默认空间。我想删除这个空间并使文本左对齐。
我怎样才能做到这一点?
这是我的 XML 代码:
<group android:checkableBehavior="single">
<item
android:id="@+id/menu_bookmarks"
android:icon="@drawable/ic_baseline_bookmarks_24"
android:title="Bookmarks"
/>
<item
android:id="@+id/menu_topics"
android:icon="@drawable/ic_baseline_topic_24"
android:title="Topics"
/>
<item
android:id="@+id/menu_lists"
android:icon="@drawable/ic_baseline_featured_play_list_24"
android:title="Lists"
/>
</group>
<group android:checkableBehavior="single">
<item
android:id="@+id/menu_settings"
android:title="Settings and privacy"
android:icon="@null"
/>
<item
android:id="@+id/menu_help"
android:title="Help Centre"
android:icon="@null"
/>
</group>
解决方案
像这样在菜单中创建 2 组项目,并将它们分为图标和非图标
<group
android:id="@+id/menu_top"
<item>
</item>
<item>
</item>
</group>
<group
android:id="@+id/menu_bottom"
<item>
android:icon="@null"
</item>
<item>
android:icon="@null"
</item>
</group>
这应该会自动删除空格,因为您有两组项目
如果那不起作用,请使用
int positionOfMenuItem =3; //the position of item you need to the left
MenuItem item = menu.getItem(positionOfMenuItem);
SpannableString s = new SpannableString(settingsItemTitle);
s.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_LEFT), 0, s.length(), 0);
item.setTitle(s);
推荐阅读
- javascript - 如何从javascript中的数组对象中删除特定的键和值?
- python - on_command_error 重复消息
- apache-spark - 使用 Apache Kafka 进行流式分析
- php - 如何在 Amazon S3 存储桶上添加或创建 zip 文件?
- javascript - 如何设置javascript对象的私有成员
- tabs - 在 Bootstrap 自定义选项卡中更改点击事件
- assembly - qemu 和笔记本电脑引导之间的图形差异(自定义引导加载程序)
- android - 如何在 xamarin android 中以编程方式设置菜单项文本
- c# - 属性类中的 ASPNET CORE 依赖注入
- azure - 无法重新创建 Azure Maps(未找到)