I'd like to decrease the line spacing between the text (User12, 5 movies, 2.5% improved) in the attached layout.
Here's the xml below (I tried removing the singleLine="true" statement and tried setting it to 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>
Just we need to add an attribute with your TextView that give the spacing with lines. These are –android:lineSpacingExtra, android:lineSpacingMultiplier – use these two attributes with your TextView in XML file. or Programatically call setter method of that attribute textView. setLineSpacing().
As android doesn't support such a thing, you can do it manually with FontCreator. It has good options for font modifying. I used this tool to build a custom font, even if it takes some times but you can always use it in your projects.
android:lineSpacingMultiplier governs the spacing between lines with a default of "1".
You can use TextView. setLineSpacing(n,m) function. Show activity on this post. You can use lineSpacingExtra and lineSpacingMultiplier in your XML file.
Long time since the question was asked but if anyone needs an answer in the future this can be achieved simply by passing a negative value to
android:lineSpacingExtra="-4dp"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With