自动调整文本视图Android
我终于找到了根据textview的高度调整文本大小的代码。但是我不知道如何在这个函数中传递文本,我的文本是出于另一个目的自动调整文本视图Android,android,Android,我终于找到了根据textview的高度调整文本大小的代码。但是我不知道如何在这个函数中传递文本,我的文本是出于另一个目的 public int getHeightOfMultiLineText(String text,int textSize, int maxWidth) { TextPaint paint = new TextPaint(); paint.setTextSize(textSize); int index = 0;
public int getHeightOfMultiLineText(String text,int textSize, int maxWidth) {
TextPaint paint = new TextPaint();
paint.setTextSize(textSize);
int index = 0;
int linecount = 0;
while(index < text.length()) {
index += paint.breakText(text,index,text.length(),true,maxWidth,null);
linecount++;
}
Rect bounds = new Rect();
paint.getTextBounds("Yy", 0, 2, bounds);
// obtain space between lines
double lineSpacing = Math.max(0,((linecount - 1) * bounds.height()*0.25));
return (int)Math.floor(lineSpacing + linecount * bounds.height());
}
public int-getHeightOfMultiLineText(字符串文本、int-textSize、int-maxWidth){
TextPaint paint=新的TextPaint();
paint.setTextSize(textSize);
int指数=0;
int linecount=0;
while(索引
您可以使用urTextView.getText().toString()将TextView的文本作为字符串获取。
这应该有效。将文本保存为字符串并传递给getHeightofMultiLineText(ur_String_text,12,10);你是不是有什么错误?如何传递到tv.setText(接收数据);对于这个函数??他们在函数中实例化textview,然后设置文本,不是吗?我得到的数据类似于tv.setText(receivingdata);如何在接收数据后传递给函数,do
String text=tv.getText().toString()代码>并传递到函数。然后我必须删除tv.setText(接收数据);不,你不必。文本在文本视图电视中设置。您现在要做的就是使用此文本并更改其大小。因此,只需添加我发布的内容,然后进行检查。如果我在xml中固定了textview大小假设为50,那么它将文本设置为50,而不检查int textSize=100;,我正在main()中调用此函数?
TextView urTextView;
String text = urTextView.getText().toString();
int textSize = 100;
int maxHeight = 50;
while(getHeightOfMultiLineText(text,textSize,maxWidth) > maxHeight)
textSize--;