Android Панель инструментов перемещает значок MenuItem вправо - PullRequest
0 голосов
/ 07 августа 2020

Я видел это в таких приложениях, как QuickPi c, где им удалось разместить значок справа

enter image description here

I tried to make the same thing but then I realized the icon seems to be hard-coded to appear on the left side.

введите описание изображения здесь

Ниже мое меню. xml

<menu>
    <item android:id="@+id/sort_by_name"
        android:title="By name"
        android:icon="@drawable/ic_arrow_downward_gray_24dp"
        />

    <item android:id="@+id/sort_by_date"
        android:title="By date"/>

    <item android:id="@+id/sort_by_path"
        android:title="By path"/>
</menu>

Так есть ли способ переместить значок вправо?

Ответы [ 2 ]

3 голосов
/ 07 августа 2020

вы всегда можете использовать android:actionLayout и создать свой собственный View, который выглядит так, как вы хотите.

Пример:

your_custum_view:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:orientation="vertical">
<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/tvMenu"
    android:clickable="true"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    app:drawableRightCompat="@drawable/ic_up_arrow"
    android:drawablePadding="@dimen/margin_medium"
    android:focusable="true"
    android:gravity="center"
    android:padding="6dp"
    android:orientation="vertical"
    android:text="By Name" />

your_menu:

<item
        android:id="@+id/nv_create"
        android:icon="@drawable/ic_create_dw"
        android:title="Create"
        app:actionLayout="@layout/menu_sign"
        app:showAsAction="always" />
1 голос
/ 07 августа 2020

нет такой опции в XML, но вы можете сделать это в Java / Kotlin. Для начала попробуйте использовать ImageSpan и переустановите весь этот текст в onCreateOptionsMenu. ЗДЕСЬ у вас есть несколько примеров того, как работать с этим диапазоном

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...