Textview一些小知识

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

这个 “\n”换行

在xml中添加属性:

android:ellipsize="none"

android:maxLines="100"

android:scrollHorizontally="false"

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

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


4.Textiew 单行显示省略点

添加

android:singleLine="true"

android:ellipsize="end"

之外

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

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

android:ellipsize = "marquee"  跑马灯

但是

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

copy 别人的解决办法

mTvUser.post(newRunnable() {

     @Override

       publicvoidrun() {

                 String ellipsizeStr = (String) TextUtils.ellipsize(mInfo.nickname,

   (TextPaint) mTvUser.getPaint(), mTvUser.getMeasuredWidth() -10, TextUtils.TruncateAt.END);

mTvUser.setText(ellipsizeStr);

}

});


5.多个Textview不同大小尺寸对齐

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

android:layout_gravity="bottom"

android:gravity="center_horizontal|bottom"

android:includeFontPadding="false"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值