Je m'excuse pour cette question a peut-être été posée quelque part, mais je ne sais pas comment la formuler.

J'ai un ListView dans mon application Android et je souhaite aligner le contenu de chaque ligne afin que chaque TextView soit aligné avec les TextViews correspondantes dans les lignes en dessous (à gauche, à droite et au centre).

Cette image est ce que je vais pour la liste:

enter image description here

Ainsi, le TextView gauche est aligné complètement à gauche et le TextView droit est aligné complètement vers la droite. Le TextView central est aligné de telle sorte qu'il "commence" toujours au même endroit (c'est-à-dire que sa position n'est pas affectée par la longueur du TextView gauche).

Comment puis-je atteindre cet objectif? Merci beaucoup

1
Andrew Bantam 27 nov. 2017 à 06:21

3 réponses

Meilleure réponse

Utiliser ci-dessous comme .. J'ai utilisé le premier textview à gauche, le deuxième centre et le troisième à droite. Vous pouvez changer à votre guise ...

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="3">

    <TextView
        android:id="@+id/tv_textview"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="left|center_vertical|center_horizontal"
        android:text="AAP 500" />

    <TextView
        android:id="@+id/tv_textview2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center|center_vertical|center_horizontal"
        android:text="85.65" />
    <TextView
        android:id="@+id/tv_textview3"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="right|center_vertical|center_horizontal"
        android:text="-3.75(-3.34 %)" />
</LinearLayout>
0
Enamul Haque 27 nov. 2017 à 03:55

Vous devez créer un listView personnalisé dans lequel votre item_row_view.xml ressemblera à ceci

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tv_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_weight="1"
        android:text="AAP 500"
        android:textAlignment="center" />

    <TextView
        android:id="@+id/tv_textview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="85.65"
        android:textAlignment="center" />

    <TextView
        android:id="@+id/tv_textview3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:text="-3.75(-3.34 %)"
        android:textAlignment="center" />


</RelativeLayout>
0
vikrant arankalle 27 nov. 2017 à 05:53

Vous voudrez utiliser un LinearLayout avec une orientation horizontale, puis appliquer un poids à chacune des vues de texte à l'intérieur. cela les amènera à prendre chacun une certaine fraction de la mise en page. Vous pouvez commencer par leur donner à chacun un poids de 1 et ajuster à partir de là. La vue de texte la plus à droite aura également besoin d'une justification correcte sur le texte pour correspondre à l'image.

0
SRoseDev88 27 nov. 2017 à 03:27
47503501