Je veux créer une disposition linéaire avec une orientation horizontale
mais je veux qu'il positionne ses enfants alignés à sa droite et non à sa gauche comme d'habitude
comment puis-je faire ceci?
Je sais comment faire cela en utilisant relativeLayout, mais je veux pratiquer linearLayout
Vous pouvez utiliser l'attribut Android: layoutDirection qui est introduit dans 4.2 (Jelly bean).
Les liens suivants vous aideront.
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
si vous utilisez Android studio, vous pouvez le faire:
1- clic droit sur le dossier principal du projet
2- refactor
3- Ajout du support pour RTL
vous pouvez utiliser cet extrait de code pour inverser vos vues de mise en page.
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));
}
OU Pour commencer à prendre en charge les dispositions RTL dans votre application, définissez l'attribut Android: supportsRtl sur l'élément de votre fichier manifeste et définissez-le sur "true". Une fois que vous l'avez activé, le système permet à diverses API RTL d'afficher votre application avec des dispositions RTL. Par exemple, la barre d'action affichera l'icône et le titre sur le côté droit et les boutons d'action sur la gauche, et toutes les dispositions que vous avez créées avec les classes View fournies par le framework seront également inversées. Regardez ceci = Android doc
Vous pouvez définir la gravité de l'élément de vue parent à droite
<?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