0.基本 操作 强制换行  自动换行

这个 “\n”换行

在xml中添加属性:

android:ellipsize="none"

android:maxLines="100"

android:scrollHorizontally="false"

1.Textview 代码设置不同颜色

如在adapter中 

holder.tv_body.setText("回复"+ item.getReplynickname() +": "+ item.getContent().toString());

// 被回复人黄色 设定要回复名字的长度

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 单行显示省略点

添加

android:singleLine="true"

android:ellipsize="end"

之外

android:ellipsize = "start"   省略号在开头

android:ellipsize = "middle"     省略号在中间

android:ellipsize = "marquee"  跑马灯

但是

你set的字符串最后一个字符是一个中文,显示的省略号就是三个点,如果是英文的那么有可能只显示一个点或者两个点。

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 进行图文混排

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));

//具体的大小展示效果要比对Textview的字体大小进行调整 dip2px dp转换px工具

SpannableString spannable =newSpannableString(string);

//要让图片替代指定的文字就要用ImageSpan 指定的文字

ImageSpan span =newImageSpan(drawable,ImageSpan.ALIGN_BASELINE);

//开始替换,注意第2和第3个参数表示从哪里开始替换到哪里替换结束(start和end)

//最后一个参数类似数学中的集合,[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.多个Textview不同大小尺寸对齐

需要对齐的Textview中 都要写统一 比如这是 下边底部对齐。 


android:layout_gravity="bottom"

android:gravity="center_horizontal|bottom"

android:includeFontPadding="false"

更多相关文章

  1. 实习入职第十六天:android:ellipsize="end"
  2. 【Android】解决 AndroidStudio使用 google() 报错:Could not fin
  3. android 图片文字轮播效果(图片和文字自动滚动)
  4. Android(安卓)Studio BUILD FAILED finished with non-zero exit
  5. Android(安卓)TextView属性ellipsize多行失效的解决思路
  6. 你不知道一些神奇Android(安卓)Api-比如文字识别、截屏等
  7. TextView属性android:ellipsize实现跑马灯效果,TextView内容过长
  8. textview中加链接
  9. textview中加链接

随机推荐

  1. MyBatis入门
  2. MyBatis之Mapper XML 文件详解(一)
  3. 快速排序就这么简单
  4. PMP学习之49个子过程俚语版理解与速记
  5. 移动商城项目总结
  6. pgsql 修改字段类型为json
  7. Android:shape设置corners(圆角)不能正常显
  8. Elasticsearch就是这么简单
  9. NacosSync多集群迁移
  10. 递归就这么简单