此篇博客是记录一些TextView开发上一些少用的开发功能项.目前开发记录以下:java
android:maxLines="2"
android:ellipsize="end"
/** * Gets the {@link android.text.Layout} that is currently being used to display the text. * This value can be null if the text or width has recently changed. * @return The Layout that is currently being used to display the text. */ public final Layout getLayout() { return mLayout; }
/** * Returns the number of characters to be ellipsized away, or 0 if * no ellipsis is to take place. */ public abstract int getEllipsisCount(int line);
//获取省略的字符数,0表示没省略 int ellipsisCountholder = textView.getLayout().getEllipsisCount(holder.content.getLineCount()-1);
holder.content.post(new Runnable() { @Override public void run() { //获取省略的字符数,0表示没和省略 int ellipsisCountholder = holder.content.getLayout().getEllipsisCount(holder.content.getLineCount()-1); if (ellipsisCountholder != 0){ holder.telescopicContent.setText("全文"); holder.telescopicContent.setVisibility(View.VISIBLE); } } });
viewHolder.telescopicContent.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (viewHolder.telescopicContent.getText().equals("全文")){ viewHolder.telescopicContent.setText("收起"); viewHolder.content.setMaxLines(50); }else { viewHolder.telescopicContent.setText("全文"); viewHolder.content.setMaxLines(4); } } });
SpannableString spannableString = new SpannableString("今每天气不错"); spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#FF0000")), 2, spannableString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv5.setText(spannableString);
setSpan方法有四个参数,android
第一个参数:ForegroundColorSpan是为文本设置前景色,也就是文字颜色。若是要为文字添加背景颜色,可替换为BackgroundColorSpan。ide
第二个参数:文本颜色改变的起始位置post
第三个参数:文本颜色改变的结束位置。spa
最后一个参数为布尔型,能够传入如下四种:code