J'aimerais réduire l'interligne du texte (User12, 5 films, 2,5% amélioré) dans la mise en page jointe.
Voici le xml ci-dessous (j'ai essayé de supprimer l'instruction singleLine = "true" et j'ai essayé de le définir sur false):
<LinearLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="fill_parent"
Android:layout_height="?android:attr/listPreferredItemHeight"
Android:orientation="horizontal" >
<ImageView
Android:id="@+id/icon"
Android:src="@drawable/icon"
Android:layout_width="36dip"
Android:layout_height="36dip"
Android:layout_margin="5dip"
Android:scaleType="center"
Android:layout_gravity="center_vertical" />
<LinearLayout
Android:orientation="vertical"
Android:layout_width="fill_parent"
Android:layout_height="fill_parent"
Android:layout_weight="7.5">
<TextView
Android:id="@+id/scoreDesc"
Android:text="User12"
Android:layout_marginLeft="5dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textAppearance="@Android:style/TextAppearance.Small"
Android:singleLine="true"
Android:ellipsize="Marquee"
Android:layout_weight="1"
Android:layout_gravity="center_vertical" />
<TextView
Android:id="@+id/scoreDesc"
Android:text="5 movies"
Android:layout_marginLeft="5dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textAppearance="@Android:style/TextAppearance.Small"
Android:singleLine="true"
Android:ellipsize="Marquee"
Android:layout_weight="1"
Android:layout_gravity="center_vertical" />
<TextView
Android:id="@+id/scoreDesc"
Android:text="2.5% improved"
Android:layout_marginLeft="5dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textAppearance="@Android:style/TextAppearance.Small"
Android:singleLine="true"
Android:ellipsize="Marquee"
Android:layout_weight="1"
Android:layout_gravity="center_vertical" />
</LinearLayout>
<TextView
Android:id="@+id/scoreNum"
Android:text="32"
Android:layout_width="wrap_content"
Android:layout_height="fill_parent"
Android:gravity="center"
Android:textSize="20sp"
Android:textStyle="bold"
Android:paddingLeft="10dip"
Android:paddingRight="60dip"
/>
</LinearLayout>
Cela fait longtemps que la question a été posée, mais si quelqu'un a besoin d'une réponse dans le futur, ceci peut être obtenu simplement en transmettant une valeur négative à
Android:lineSpacingExtra="-4dp"
Comme Cullan l’a dit plus haut, vous devez définir une marge négative:
Android: layout_marginTop = "- 10dp"
<TextView
Android:id="@+id/scoreDesc"
Android:text="User12"
Android:layout_marginLeft="5dip"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textAppearance="@Android:style/TextAppearance.Small"
Android:singleLine="true"
Android:ellipsize="Marquee"
Android:layout_weight="1"
Android:layout_gravity="center_vertical" />
<TextView
Android:id="@+id/scoreDesc"
Android:text="5 movies"
Android:layout_marginLeft="5dip"
Android:layout_marginTop="-10dp"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:textAppearance="@Android:style/TextAppearance.Small"
Android:singleLine="true"
Android:ellipsize="Marquee"
Android:layout_weight="1"
Android:layout_gravity="center_vertical" />
J'espère que ça aide quelqu'un.
Définir lineSpacingMultiplier semble mieux dans ce cas que lineSpacingExtra, par ex.
Android:lineSpacingMultiplier="0.8"
(Cela fonctionne si tout votre texte est dans un seul TextView qui a la ligne ci-dessus dans le xml.)