0

是否有任何简单的方法可以更改 a 的文本TextView以使其适合视图的大小?请注意,我不想截断文本或放置省略号,我想设置不同的文本。

例如,如果视图太小(这两个字符串都是资源) ,Experience:我不想使用。Exp:

我知道我可以“避免”.xml为每个可能的屏幕尺寸编写自定义布局文件,但如果可能的话,我想避免这种情况。我已经在使用一些不同的布局文件,但仅适用于布局需要进行一些根本性更改以适应屏幕大小的情况。同样在某些情况下,我希望能够动态设置 a 的文本,TextView而这不能通过 xml 布局文件来完成。

我只对单行TextView和宽度感兴趣。

我能想到的唯一方法是使用自定义TextView子类,如果原始文本不适合,则使用后备文本,但我想知道是否有更简单的解决方案,最终,我如何可靠地计算某些文本是否适合TextView大小与否。

4

1 回答 1

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() 所以如果它不起作用,请尝试第二个选项。

于 2013-02-09T15:48:46.403 回答