描画される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
長いテキスト文字列を指定すると、折り返しが発生しますが、2 行ではなく 1 行の高さが得られます。
(...)
textView.setText("TESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTEST");
(...)
出力はMeasuredHeight: 28
、私が期待する場所MeasuredHeight: 56
です。
正しい値が得られないのはなぜですか? また、正しい値を得るにはどうすればよいですか?