Андроидная сетка вид места элементы справа налево

Я работаю над андроидным приложением с арабской версией .

В одном из интерфейсов у меня есть gridView. Поэтому, чтобы отображать элементы в правильном порядке, я должен отображать элементы в GridView справа налево (и с корнем сверху вниз). Для этого я попытался добавить эти атрибуты в GridView:

android:gravity="right" android:layout_gravity="right" 

К сожалению, элементы все еще отображаются слева направо.

Любая идея сделать это правильно?

Solutions Collecting From Web of "Андроидная сетка вид места элементы справа налево"

Вы можете добиться этого этим уродливым обходным путем:

  1. Добавьте эту строку в свой GridView в XML:

    Android: rotationY = "180"

  2. Также добавьте одну и ту же строку в элемент GridView в XML:

    Android: rotationY = "180"

В общей сложности это дает вам вращение на 360 °, поэтому похоже, что GridView помещает элементы справа налево.

Как сказал Нибха Джайн, его право. Также вам нужно добавить свойство «android: layoutAnimation» в GridView xml, как показано ниже.

 <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/grid" android:layoutAnimation="@anim/layout_grid_right_to_left" 

А также вам необходимо определить файл анимации с атрибутом «android: direction», который фактически отображает ваши элементы справа налево или любое поддерживаемое направление.

Файл layout_grid_right_to_left.xml внутри папки с анимацией

 <gridLayoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:columnDelay="0.5" android:directionPriority="row" android:direction="right_to_left" android:animation="@anim/fade" /> 

@ Anim / fade выглядит следующим образом:

 <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_longAnimTime" /> 

Это мои предпочтения. Добавьте / удалите атрибуты, которые соответствуют вашим потребностям. Играть с этим.

Основываясь на ответе Траниньо:

  1. Добавьте эту строку в свой GridView в XML:

    Android: rotationY = "180"

  2. Также добавьте одну и ту же строку в элемент GridView в XML:

    Android: rotationY = "180"

Выполните следующие действия:

  • В своей GridActivity удалите это:

      gridView.setOnClickListener(...); 
  • Теперь перейдите в свой gridAdapter и добавьте onClickListener в gridImage, поэтому ваш код должен выглядеть следующим образом:

      gridImage.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { //Do something } }); 

Это будет обрабатывать клики, как правило, на изображениях GridView.

Желаю, чтобы это помогло 🙂

Добавьте эту строку в свой GridView в XML:

 android:layoutDirection="rtl" 
 Create one new layout-ldrtl folder and make xml file grid view . example... <GridView android:id="@+id/popoulat_category_list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scrollingCache="true" android:smoothScrollbar="true" android:numColumns="2" android:scrollbars="none" android:horizontalSpacing="-5dp" android:verticalSpacing="-5dp" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:layout_marginStart="5dp" android:layout_marginEnd="5dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp"/> 

Локальный язык устройства – английский: введите описание изображения здесь

Локальный язык устройства – parsian: введите описание изображения здесь