6
votes

placer un élément à droite dans une mise en page linéaire dans Android

Je veux placer une image à droite de la vue. Pour cela, je suis tyriende pour utiliser quelque chose comme xxx

ce qui précède semble mettre l'image quelque part au centre. Comment puis-je vous assurer que l'image est bien alignée, que nous soyons en mode portrait ou paysage?

merci!


0 commentaires

3 Réponses :


0
votes

L'orientation par défaut de linearlayout code> est horizontale. Assurez-vous que l'orientation de la mise en page linéaire est définie sur verticale forte> ortherwise, vous ne pouvez pas aligner horizontalement.

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    >


8 commentaires

Merci pour une réponse super rapide - mais désolé - cela n'a pas fonctionné.


WhateLse est dans votre linearlayout ?


Rien d'autre. Les choses restantes se situent dans la disposition relative extérieure - essentiellement, je veux une rangée avec une seule image à droite. Je peux bien sûr utiliser la marge gauche (qui fonctionne) mais je veux utiliser l'alignement afin que je n'ai pas à vous soucier du mode portrait / paysage ...


Ouais, tu ne devrais pas utiliser des marges dans cette situation. Cela devrait être facile que ça. Pourriez-vous s'il vous plaît poster votre XML complet afin que nous puissions vérifier mieux?


Ouais c'est certainement l'orientation de la mise en page: Android: Orientation = "vertical"


Bonjour Zortman - Merci pour votre réponse. Je n'ai pas besoin d'avoir le "centre}". Je pensais que j'avais essayé cela auparavant. Peut-être que "l'orientation = verticale" est la nouvelle chose. Merci !


Bonjour Zortkun, pouvez-vous s'il vous plaît éditer votre réponse pour utiliser la mise en page que j'ai donnée dans ma réponse (puisque je sais que cela fonctionne dans mon scénario particulier). Je voudrais marquer votre réponse comme le bon. Merci!


Bon sang tu as raison! J'ai perdu la bagarre: Je me suis manqué .. désolé. Eh bien, vous pouvez toujours marquer URS comme réponse. ne t'inquiète pas :)



7
votes

suivant semble fonctionner. Deux changements 1. Utilisez l'orientation = verticale comme suggéré par Zortkun 2. Utilisez Wrap_Content dans layout_width.

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/settingsIcon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:src="@drawable/settings_icon" >
    </ImageView>
</LinearLayout>


1 commentaires

Android: Orientation = "Vertical" manquait tout le long. :) Retirez-le et vous verrez ..



0
votes

Vous n'avez pas besoin de linearlayout si vous n'utilisez qu'une vue à l'intérieur de la linearlayout.

Quoi qu'il en soit, c'est ici, P>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent" >

//...some other elements

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="right">

    <ImageView
        android:id="@+id/imageIcon"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"            
        android:layout_gravity="right"
        android:src="@drawable/image_icon" >
    </ImageView>
</LinearLayout>

</RelativeLayout>


0 commentaires