Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I reduce the line spacing between text in my Android layout?

I'd like to decrease the line spacing between the text (User12, 5 movies, 2.5% improved) in the attached layout.

enter image description here

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> 
like image 511
user836200 Avatar asked Feb 01 '12 17:02

user836200


People also ask

How do I change line spacing in android?

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().

How do I reduce the spacing between letters in android?

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.

What is default line spacing in android?

android:lineSpacingMultiplier governs the spacing between lines with a default of "1".

How do I reduce line spacing in TextView?

You can use TextView. setLineSpacing(n,m) function. Show activity on this post. You can use lineSpacingExtra and lineSpacingMultiplier in your XML file.


1 Answers

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" 
like image 51
Cullan Avatar answered Sep 29 '22 05:09

Cullan