0.基本 操作 強(qiáng)制換行 ?自動(dòng)換行
這個(gè) “\n”換行
在xml中添加屬性:
android:ellipsize="none"
android:maxLines="100"
android:scrollHorizontally="false"
1.Textview 代碼設(shè)置不同顏色
如在adapter中?
holder.tv_body.setText("回復(fù)"+ item.getReplynickname() +": "+ item.getContent().toString());
// 被回復(fù)人黃色 設(shè)定要回復(fù)名字的長度
SpannableStringBuilder builder =newSpannableStringBuilder(
holder.tv_body.getText().toString());
ForegroundColorSpan linkColorSpan =newForegroundColorSpan(
Color.argb(255,255,221,0));
int length = item.getReplynickname().length();
builder.setSpan(linkColorSpan,2,2+ length,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
holder.tv_body.setText(builder);
2.Textview draw方向 代碼替換圖片
示例為左邊
Drawable drawable =ContextCompat.getDrawable(context,R.drawable.user_icon_zan_true);
drawable.setBounds(0,0,drawable.getMinimumWidth(),drawable.getMinimumHeight());
holder.tv_zan.setCompoundDrawables(drawable, null, null, null);
3.Textiew 單行顯示省略點(diǎn)
添加
android:singleLine="true"
android:ellipsize="end"
之外
android:ellipsize = "start" 省略號(hào)在開頭
android:ellipsize = "middle" ? ??省略號(hào)在中間
android:ellipsize = "marquee" ?跑馬燈
但是
你set的字符串最后一個(gè)字符是一個(gè)中文,顯示的省略號(hào)就是三個(gè)點(diǎn),如果是英文的那么有可能只顯示一個(gè)點(diǎn)或者兩個(gè)點(diǎn)。
copy 別人的解決辦法
mTvUser.post(newRunnable() {
? ? ?@Override
? ? ? ?public void run()?{
? ? ? ? ? ? ? ? ?String?ellipsizeStr?=?(String)?TextUtils.ellipsize(mInfo.nickname,
? ?(TextPaint)?mTvUser.getPaint(),?mTvUser.getMeasuredWidth()?-10,?TextUtils.TruncateAt.END);
mTvUser.setText(ellipsizeStr);
}
});
4.使用imagespan 進(jìn)行圖文混排
String string=“XXXroleXXX”;//展示的所有文字
String role="role";//要替換成image 的文字
Drwable drawable=Activity.getResources().getDrawable(R.mipmap.icon);
drawable.setBounds(dip2px(context,3),dip2px(context,5),dip2px(.context,37),dip2px(context,18));
//具體的大小展示效果要比對(duì)Textview的字體大小進(jìn)行調(diào)整 dip2px dp轉(zhuǎn)換px工具
SpannableString spannable =newSpannableString(string);
//要讓圖片替代指定的文字就要用ImageSpan 指定的文字
ImageSpan span =newImageSpan(drawable,ImageSpan.ALIGN_BASELINE);
//開始替換,注意第2和第3個(gè)參數(shù)表示從哪里開始替換到哪里替換結(jié)束(start和end)
//最后一個(gè)參數(shù)類似數(shù)學(xué)中的集合,[5,12)表示從5到12,包括5但不包括12
//
spannable.setSpan(span,string.indexOf(role),string.indexOf(role) + role.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
textview.setText(spannable);
5.多個(gè)Textview不同大小尺寸對(duì)齊
需要對(duì)齊的Textview中 都要寫統(tǒng)一 比如這是 下邊底部對(duì)齊。?
android:layout_gravity="bottom"
android:gravity="center_horizontal|bottom"
android:includeFontPadding="false"