TextView設定行間距 字型間距

2021-09-29 18:05:15 字數 2006 閱讀 4194

一、設定行間距

1、設定行間距:android:linespacingextra,取值範圍:正數、負數和0,正數表示增加相應的大小,負數表示減少相應的大小,0表示無變化

2、設定行間距的倍數:android:linespacingmultiplier,取值範圍:浮點數,如果值大於1.0表示增加行間距,如果值小於1.0表示減少行間距,等於1.0時表示無變化。

有時候在ui介面會失效,可以在**動態設定

reuse_list_name.setlinespacing(8,1);//第乙個引數是字型大小,第二個是倍數
二、設定字型間距

settextscalex() 方法設定字間距,但從字面上(scale)就可看出其實它是用於設定字型的縮放比率,並不正確

我們可以用通過繼承 textview 並重寫 settext() 和 gettext() 方法,增加 setletterspacing() 等方法搞定該需求。

/**

* 示例:設定 textview 的字間距

* @author pedro barros (pedrobarros.dev at gmail.com)

* @since may 7, 2013

*/import android.content.context;

import android.text.spannable;

import android.text.spannablestring;

import android.text.style.scalexspan;

import android.util.attributeset;

import android.widget.textview;

public class letterspacingtextview extends textview

public letterspacingtextview(context context, attributeset attrs)

public letterspacingtextview(context context, attributeset attrs, int defstyle)

public float getletterspacing()

public void setletterspacing(float letterspacing)

@override

public void settext(charsequence text, buffertype type)

@override

public charsequence gettext()

stringbuilder builder = new stringbuilder();

for(int i = 0; i < originaltext.length(); i++)

}spannablestring finaltext = new spannablestring(builder.tostring());

if(builder.tostring().length() > 1)

}super.settext(finaltext, buffertype.spannable);

}public class letterspacing

}

應用例:

letterspacingtextview textview = new letterspacingtextview(context);

textview.setletterspacing(10); //引數為 float 型別。可另設其他值如 0 或者預設值 letterspacingtextview.letterspacing.normal

textview.settext("my text");

//add the textview in a layout, for instance:

((linearlayout) findviewbyid(r.id.mylinearlayout)).addview(textview);

設定textView的行間距

1.如果只是靜態顯示textview的內容為設定的行間距,執行如下 textview 改變字型的行間距 nsmutableparagraphstyle paragraphstyle nsmutableparagraphstyle alloc init paragraphstyle.linespaci...

Android設定TextView行間距(非行高)

android系統中textview預設顯示中文時會比較緊湊,不是很美觀。為了讓每行保持一定的行間距,可以設定屬性android linespacingextra或android linespacingmultiplier。關於android下textview中文換行問題,可檢視android自定義...

TextView設定字間距和行間距

android textscalex是調節字間距的,它的值是乙個float型。預設textview 此屬性是使用的是 android.internal.r.styleable.textview textscalex settextscalex a.getfloat attr,1.0f 設定textv...