【发布时间】:2012-02-26 22:58:45
【问题描述】:
新手 Java 问题 - 在 Auto Scaling the Text 视图的所有帖子中,没有人指出您实际如何使用提供的类。看起来更好的解决方案之一是 Chase 在Auto Scale TextView Text to Fit within Bounds
有人知道你是如何使用它的吗?例如:
String bigTextString = "This is a test!";
TextView t = (TextView)findViewById(R.id.big_text);
t.setTextSize(returnFontSize(bigTextString));
t.setText(bigTextString);
returnFontSize 不存在,仅用于说明。 AutoResizeTextView 类已在其自己的文件中正确设置。
谢谢(忽略下面的简短评论,因为 StackOverflow 有一个不允许重新编辑评论的错误,而且它也限制为 512 个字符)。
我一定还是错过了什么。如果我只使用建议的两行,你在哪里传递文本字符串?我尝试了类似的东西,但它只是在运行时崩溃,这是有道理的。
AutoResizeTextView t = new AutoResizeTextView(this);
linearMain.addView(findViewById(R.id.big_text));
addView 失败并显示“IllegalStateException:指定的孩子已经有父母。您必须先在孩子的父母上调用 removeView()。”,这看起来很奇怪,因为我不想删除视图(我认为) ,而且我不知道它如何知道要放在屏幕上的字符串。
addView 真的有必要吗,因为它已经在布局中定义了。
我只想将文本传递给它。例如:
TextView t = (TextView)findViewById(R.id.big_text);
t.setTextSize(textSize);
t.setTextColor(textColor);
t.setText(bigTextString);
这会运行,除了 Android 在根据“bigTextString”中的内容在屏幕上拟合文本方面做得很差。
【问题讨论】:
标签: android automation drawing textview word-wrap