Подтвердить что ты не робот

Выровнять значки панели инструментов справа налево?

В моем приложении я реализовал несколько языков, включая арабский язык, начинающийся с права налево. Я хочу выровнять все значки на Панели инструментов RIGHT_TO_LEFT.

Я пробовал layout_gravity="right" и gravity="right" Но ничего не случилось.

Мой код панели инструментов:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/primary_color"
    app:popupTheme="@style/Theme.AppCompat.Light"/>

Вот что я хочу:

0C6Ik.png
tZtff.png

4b9b3361

Ответ 1

Официальная поддержка "справа налево" была представлена ​​с Android 4.2 (API-уровень 17), поэтому это будет работать, только если ваш минимальный уровень SDK равен 17:

1) Поместите атрибут android:supportsRtl="true" в файл AndroidManifest для поддержки направлений влево-влево.

2) Во-вторых, поставьте этот код в свою активность onCreate() methdod:

if (getWindow().getDecorView().getLayoutDirection() == View.LAYOUT_DIRECTION_LTR){
            getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
        }

Это приведет к тому, что все будет размещено справа налево, если система использует соответствующий язык. Также убедитесь, что вы используете start/end вместо left/right при настройке дополнения, чтобы убедиться, что все элементы правильно выровнены.

Для получения дополнительной информации об официальном объявлении поддержки: http://android-developers.blogspot.be/2013/03/native-rtl-support-in-android-42.html

Ответ 2

Поместите атрибут android: supportsRtl = "true" в свой файл AndroidManifest. После этого добавьте нижнюю строку в тег панели инструментов:

android:layoutDirection="rtl"