Wrap_contentとして幅を設定したテキストをテキストに追加しようとしています。私はこのテキストビューの幅を取得しようとしています。しかし、すべてのケースで0を示しています。どのように私はそれにテキストを設定した後、テキストビューの幅を取得できますか?AndroidでWrap_Contentに設定されているTextviewの幅を取得する方法
コードは通りです:
LinearLayout ll= new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
TextView tv = new TextView(this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
ll.addView(tv);
tv.setText("Hello 1234567890-0987654321qwertyuio787888888888888888888888888888888888888888888888888");
System.out.println("The width is == "+tv.getWidth());// result is 0
this.setContentView(ll);
示唆してください。 ありがとうございます。
は、API 8以上と同等ですか? –
TextViewをサブクラス化して、onLayout()をオーバーライドできます。そこからsuper.onLayout()を呼び出し、TextViewの幅を保存します。それはどんなAPIレベルでも動作するはずです。 – Const
クラスにはAPIレベル11が必要です(現在の最小値は8です)。android.view.View.OnLayoutChangeListener –