Как создать андроид linearlayout с RTL горизонтальной ориентацией
Я хочу создать линейную компоновку с горизонтальной ориентацией
но я хочу, чтобы он расположил его дочерние элементы, расположенные справа, а не слева от них, как обычно.
как я могу это сделать?
Я знаю, как это сделать, используя relativeLayout, но я хочу практиковать linearLayout
Ответы
Ответ 1
Вы можете использовать атрибут android: layoutDirection, который вводится в 4.2 (желе bean).
Следующие ссылки помогут.
http://developer.android.com/reference/android/view/View.html#attr_android:layoutDirection
http://android-developers.blogspot.co.uk/2013/03/native-rtl-support-in-android-42.html
Ответ 2
Если вы используете Android-студию, вы можете сделать это:
1- щелкните правой кнопкой мыши по основной папке проекта
2- рефакторинг
3- добавить поддержку RTL
Ответ 3
вы можете использовать этот фрагмент кода, чтобы отменить представления макета.
LinearLayout ll = // inflate
ArrayList<View> views = new ArrayList<View>();
for(int x = 0; x < ll.getChildCount(); x++) {
views.add(ll.getChildAt(x));
}
ll.removeAllViews();
for(int x = views.size() - 1; x >= 0; x--) {
ll.addView(views.get(x));
}
ИЛИ
Чтобы начать поддержку макетов RTL в вашем приложении, установите атрибут android: supportRtl для элемента в вашем файле манифеста и установите его "true". Как только вы включите это, система позволит различным API-интерфейсам RTL отображать ваше приложение с макетами RTL. Например, панель действий отобразит значок и заголовок с правой стороны и кнопки действий слева, а любые макеты, созданные вами с помощью классов View, также будут отменены.
Посмотрите этот документ Android
Ответ 4
Вы можете установить гравитационный элемент родительского вида вправо
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" <!-- make sure this is not wrap_content !-->
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="right" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="A"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="B"/>
</LinearLayout