0

私はどういうわけか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;

私の発言をフォローしていただければ幸いです。もっと明確にする必要がある場合は教えてください...

ありがとうございました!

4

0 に答える 0