我试图以某种方式得到TextView的高度(实际上在渲染之前,因为它必须适合ListView)。
我用
尝试了Rect currentBounds = new Rect();
textview1.getPaint().getTextBounds(textview1.getText().toString(), 0,
textview1.length(), currentBounds);
String size = rect.height();
...但我总是得到相同数量的身高。文本总是具有相同的宽度(显示宽度);也许这是一个问题吗?
或者我通过StaticLayout尝试了它:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
StaticLayout measure = new StaticLayout(textview11.getText(), textview1.getPaint(),
width, Layout.Alignment.ALIGN_NORMAL, 1.0f, 1.0f, false);
但是在这里,我只是得到奇怪的数字,我真的不知道如何处理......它们与上面的数字完全不同,无论我如何转换它们......
设置LinearLayout的新高度是通过以下方式完成的:
LinearLayout layout = (LinearLayout)findViewById(R.id.ll);
LayoutParams params = layout.getLayoutParams();
params.height = height;
我希望你能跟随我的发言。告诉我,如果我需要澄清更多的东西......
谢谢!