具有特殊字元半形全形字符時排版文字對齊
import android.content.context;
import android.graphics.canvas;
import android.graphics.paint;
import android.text.layout;
import android.text.staticlayout;
import android.text.textpaint;
import android.util.attributeset;
import android.widget.textview;
/** * 解決文字排版混亂參差不齊的問題
*/public
class
justifytextview
extends
textview
@override
protected
void
onlayout(boolean changed, int left, int top, int right, int bottom)
@override
protected
void
ondraw(canvas canvas)
paint.fontmetrics fm = paint.getfontmetrics();
int textheight = (int) (math.ceil(fm.descent - fm.ascent));
textheight = (int) (textheight * layout.getspacingmultiplier() + layout
.getspacingadd());
//解決了最後一行文字間距過大的問題
for (int i = 0; i < layout.getlinecount(); i++) else
} else
mliney += textheight;
} }private
void
drawscaledtext(canvas canvas, int linestart, string line, float linewidth)
int gapcount = line.length() - 1;
int i = 0;
if (line.length() > 2 && line.charat(0) == 12288
&& line.charat(1) == 12288)
float d = (mviewwidth - linewidth) / gapcount;
for (; i < line.length(); i++)
} private
boolean
isfirstlineofparagraph(int linestart, string line)
private
boolean
needscale(string line) else
}}
textview 文字排版問題,實現兩端對齊
compile me.codeboy.android align text view 2.3.0 android textisselectable true getrealtext cbaligntextviewutil.replacepunctuation string text 在設定cbali...
textview文字對齊換行問題
半形轉換為全形 半形轉換為全形 param input return public static string todbc string input if c i 65280 c i 65375 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 c i ch...
Android開發之TextView排版問題
下面直接是關於解決該問題的 根據別人的 進行了修正以及測試,保證可以修改字型尺寸 顏色 根據padding調整,如果需要支援其他的格式可以將對應的屬性新增至paint型別的物件中 1 public class nstextview extends textview 2122 override 23p...