我试图在绘制TextView
之前确定 a 的高度。我正在使用以下代码来做到这一点:
TextView textView = (TextView) findViewById(R.id.textview);
textView.setText("TEST");
int widthSpec = MeasureSpec.makeMeasureSpec(LayoutParams.MATCH_PARENT, MeasureSpec.EXACTLY);
int heightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
textView.measure(widthSpec, heightSpec);
System.out.println("MeasuredHeight: " + textView.getMeasuredHeight());
输出是MeasuredHeight: 28
。没有错。
但是,当我给出TextView
一个长文本字符串时,会发生换行,它仍然给出一行而不是两行的高度:
(...)
textView.setText("TESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTEST");
(...)
输出是MeasuredHeight: 28
我所期望MeasuredHeight: 56
的。
为什么它没有给我正确的价值,我怎样才能获得正确的价值?