android 自定义 TextView 显示全部内容
时间: 2023-11-18 14:04:49 浏览: 91
android 自定义TextView
4星 · 用户满意度95%
要在Android自定义TextView中显示全部内容,可以使用以下两种方法:
1. 使用setEllipsize()方法
通过设置setEllipsize()方法,可以在TextView的末尾添加省略号,从而指示文本被截断。你可以使用以下代码来实现:
```
yourTextView.setEllipsize(TextUtils.TruncateAt.END);
yourTextView.setSingleLine(true);
```
上述代码将设置TextView只显示一行并在末尾添加省略号。
2. 自定义TextView
你可以从TextView类继承一个新类,并覆盖onMeasure()方法以测量控件的高度和宽度。 你可以使用以下代码实现:
```
public class CustomTextView extends TextView {
public CustomTextView(Context context) {
super(context);
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
//获取TextView的内容
CharSequence text = getText();
if (text != null) {
//测量TextView的高度
int width = getMeasuredWidth();
int height = getMeasuredHeight();
int lineCount = getLineCount();
int lineHeight = getLineHeight();
int totalHeight = lineCount * lineHeight;
if (totalHeight > height) {
setMeasuredDimension(width, totalHeight);
}
}
}
}
```
上述代码将测量TextView的高度,如果文本的高度超出了TextView的高度,则调整TextView的高度以适应文本。然后你可以使用此自定义TextView来显示你的文本。
阅读全文