Próbuję dodać tekst do widoku tekstowego, dla którego ustawiłem szerokość jako Wrap_content. Próbuję uzyskać szerokość tego tekstu. Ale pokazuje 0 we wszystkich przypadkach. W jaki sposób mogę uzyskać szerokość widoku tekstowego po ustawieniu w nim tekstu?W systemie Android, jak uzyskać szerokość widoku tekstu ustawionego na Wrap_Content
kod jest jako:
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);
Proszę zasugerować. Z góry dzięki.
co jest jego odpowiednik dla API 8 i powyżej? –
Możesz podklasować TextView i zastąpić onLayout(). Wywołaj z niego super.onLayout() i zapisz szerokość TextView. To powinno działać na każdym poziomie interfejsu API. – Const
Klasa wymaga poziomu API 11 (bieżący min to 8): android.view.View.OnLayoutChangeListener –