首页 > 解决方案 > 如何让图标始终出现在 ActionBar 的右侧?

问题描述

我有一个带有操作栏和一个图标的片段,另一个片段放置在第一个带有自己的操作栏和两个图标的片段上。我有它,所以第二个片段将在操作栏中显示所有三个项目,而第一个片段只显示它是一个:

包含 3 个项目的片段

带有 1 项的片段

我希望片段中带有 3 个项目的红色方块位于其他两个项目的右侧。

2个项目的片段布局:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:title="@string/menu_sort"
        android:id="@+id/menu_sort"
        app:showAsAction="always"
        android:icon="@drawable/ic_baseline_sort_24">
        <menu>
            <item android:title="Distance"/>
            <item android:title="Salary"/>
            <item android:title="Date Posted"/>
        </menu>

    </item>
    <item
        android:title="@string/menu_filter"
        android:id="@+id/menu_filter"
        app:showAsAction="always"
        android:icon="@drawable/ic_baseline_filter_list_24">
        <menu>
            <item android:title="Freelance"/>
            <item android:title="Zero Hour"/>
            <item android:title="Part Term"/>
            <item android:title="Internship"/>
        </menu>
    </item>



</menu>

1 项的片段布局:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <item
        android:title="@string/menu_profile"
        android:id="@+id/menu_profile"
        app:showAsAction="always"
        app:actionLayout="@layout/profile_menu_layout"/>

</menu>

上面使用的 Profile_menu_layout:

    <?xml version="1.0" encoding="utf-8"?>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:padding="5dp"
        android:clickable="true"
        >


    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/toolbar_profile_image"
        android:layout_width="30dp"
        android:layout_height="30dp"
        android:src="@mipmap/ic_launcher"/>

    </FrameLayout>

标签: androidandroid-layoutandroid-fragments

解决方案


android:orderInCategory您可以通过设置菜单项来实现此目的。以供参考。.


推荐阅读