有没有简单的方法来更改TextView
的文字以使其符合视图的大小?请注意,我不想要截断文本或放置省略号,我想设置不同的文本。
例如,如果视图太小(这两个字符串都是资源),我想使用Experience:
代替Exp:
。
我知道我可以“避免”为每个可能的屏幕尺寸编写自定义.xml
布局文件,但我想尽可能避免这种情况。我已经在使用一些不同的布局文件,但仅适用于布局需要进行一些根本性改变以适应屏幕大小的情况。此外,在某些情况下,我希望能够动态设置TextView
的文本,而这不能通过xml布局文件来完成。
我只对单行TextView
和宽度感兴趣。
我能想到的唯一方法是使用自定义TextView
子类,如果原始文本不适合使用后备文本,但我想知道是否有更简单的解决方案,最终,怎么能我可靠地计算某些文本是否符合TextView
大小。
答案 0 :(得分:0)
您可以尝试这样的事情:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenWidth = size.x;
if( textView.getWidth() > screenWidth ) {
textView.setText("Exp:");
} else {
textView.setText("Experience:");
}
我不确定你是否需要使用getWidth()或getMeasuredWidth(),所以如果它不起作用,请尝试第二个选项。