我有一个带5个菜单项的抽屉,这些菜单项仅是图标,没有文本:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:showIn="navigation_view">
<group android:id="@+id/grp1" android:checkableBehavior="single">
<item
android:id="@+id/nav_search"
android:icon="@drawable/search_white"
android:title="" />
</group>
<group android:id="@+id/grp2" android:checkableBehavior="single">
<item
android:id="@+id/nav_messages"
android:icon="@drawable/chat_white"
android:title="" />
</group>
等
我需要在聊天图标上添加徽章,所以我制作了这个xml文件:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="start">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center"
android:src="@drawable/chat_white" />
<FrameLayout
android:id="@+id/toolbar_red_circle"
android:layout_width="14dp"
android:layout_height="14dp"
android:background="@drawable/circle_red"
android:layout_gravity="right"
android:visibility="visible"
tools:visibility="visible">
<TextView
android:id="@+id/menu_messages_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="36"
android:textColor="@color/white"
android:textSize="10sp" />
</FrameLayout>
我将其命名为view_messages_menu_item.xml。然后在我的抽屉xml中替换了
android:icon="@drawable/chat_white"
与
app:actionLayout="@layout/view_messages_menu_item"
现在,我得到带有红色圆圈的图标,但它已移至菜单部分的右上方。我需要将其垂直和水平移动回到原来的位置。我尝试过更改FrameLayout和菜单项的重力,但它不会移动。任何帮助将不胜感激。