Intereting Posts
Передача массивов с помощью Intent.putExtra Показать мягкую клавиатуру в AlertDialog с помощью WebView внутри (Android) Расширение класса, реализующего Parcelable Получите высоту виртуальной клавиатуры в Android Android: Как получить идентификатор ресурса текущей темы? Невозможно разрешить хост «<insert URL here>» Нет адреса, связанного с именем хоста Как заменить значок гамбургера, который используется для ActionBarToggle на панели инструментов Android, с пользовательской возможностью рисования? Проект библиотеки Android как файл jar для распространения, например Google Analytics «SDK-buildable» Web-браузер с открытым исходным кодом для Android Обнаруживать, когда устройство Android находится в движущемся автомобиле Активность камеры Android не возвращается в мое приложение при нажатии кнопки OK Как уменьшить размер sdk для Android на жестком диске Как вы создаете задний стек Android, когда действие запускается непосредственно из уведомления? Смещение / перемещение вкладки в сочетании с ScrollView? Как использовать onSaveInstanceState () и onRestoreInstanceState ()?

Начните элементы GridView справа

Я делаю приложение, где я хочу, чтобы gridview был заполнен справа налево, «чтобы использовать его для права на левые языки», я попытался сделать силу сетки сетки вправо, но это не сработало … мой Макет gridview находится ниже.

заранее спасибо

<RelativeLayout android:id="@+id/grid_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_below="@+id/show_info" android:gravity="right" > <GridView android:id="@+id/channel_grid" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_centerHorizontal="true" android:columnWidth="90dp" android:gravity="right" android:horizontalSpacing="10dp" android:numColumns="auto_fit" android:stretchMode="columnWidth" android:verticalSpacing="10dp" > </GridView> </RelativeLayout> 

Solutions Collecting From Web of "Начните элементы GridView справа"

Я думаю, что вам лучше всего скопировать код из источника GridView и изменить измерение / макет для использования справа налево.

UPDATE: направление макета для представлений было введено только в API-интерфейсе 17 (4.2). Если вы сравниваете GridView.java в 4.2 и 4.1 , вы можете увидеть, что, например, в методе makeRow() , layoutDirection учитывается с 4.2, так что это должно сработать!

Вы пытались выполнить свой код с помощью android:layoutDirection="rtl" на уровне API 17?

Я не думаю, что GridView был разработан с учетом языков. Это скорее визуальный компонент для создания миниатюр.

Вы можете решить эту проблему, изменив свой адаптер и позволив ему изменить порядок каждого элемента в строке. Однако вам нужно указать вашему адаптеру количество элементов в строке для выполнения этой работы.

Вдобавок к этому, если в последней строке меньше предметов, чем возможно, тогда вам нужно ввести пустые фиктивные элементы для заполнения слева.

Вы можете попробовать это. У вашего GridView в вашем файле макета есть следующий атрибут

 android:layoutAnimation="@anim/layout_grid_right_to_left" 

Создайте папку с анимацией, в которой вы добавите 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" /> 

Также добавьте fade.xml в ту же папку с содержимым

 <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" /> 

Это только для вашей справки. Не стесняйтесь добавлять / удалять атрибуты, соответствующие вашим потребностям / требованиям.

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

  android:rotationY="180" 

Можешь попробовать

 android:layoutDirection="rtl" 

Обычно это текст, и я не знаю, что влияет на gridView. ( Ref )

Еще одна вещь, которую нужно попробовать:

 android:stackFromBottom="true" 

Но это не сработает, если вам нужно заказать элементы сверху-вниз и справа налево ( ref )

Существует глупый способ сделать это, но он отлично работает.

Просто сделайте android:ScaleX=-1 в gridview и в контейнере элементов (ваш пользовательский вид для ячеек сетки), поэтому ваш макет начнется с права налево!

Надеюсь эта помощь