如何减少Android布局中文本之间的行间距?

use*_*200 22 android line spacing textview android-layout

我想减少附加布局中文本(User12,5电影,改进2.5%)之间的行间距.

在此输入图像描述

这是下面的xml(我尝试删除singleLine ="true"语句并尝试将其设置为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>
Run Code Online (Sandbox Code Playgroud)

小智 62

问题问题已经很久了,但是如果将来有人需要答案,可以通过传递负值来实现

android:lineSpacingExtra="-4dp"
Run Code Online (Sandbox Code Playgroud)

  • 负值减少下面的行字符,如"g"将从底部减少. (4认同)

Ton*_*ham 6

在这种情况下,设置lineSpacingMultiplier似乎比lineSpacingExtra更好,例如

android:lineSpacingMultiplier="0.8"

(如果您所有的文本都位于单个xml的xml中,则此方法有效。)


Mar*_* HC 5

正如Cullan所说,你必须设置一个负的保证金价值:

机器人: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" />
Run Code Online (Sandbox Code Playgroud)

希望这有助于某人.