Sto provando a determinare l'altezza di TextView
prima del che viene disegnato. Sto utilizzando il seguente codice per farlo:getMeasuredHeight() di TextView con testo inserito
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());
l'uscita è MeasuredHeight: 28
. Niente di male in questo.
Tuttavia, quando mi danno l'una stringa di testo lungo TextView
, così si verifica avvolgente, dà ancora l'altezza di una sola linea anziché due:
(...)
textView.setText("TESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTESTTEST");
(...)
L'uscita è MeasuredHeight: 28
, dove mi aspetterei MeasuredHeight: 56
.
Perché non mi dà il giusto valore e come posso ottenere il giusto valore?
Forse [questo] [1] vi aiuterà, è quasi lo stesso problema! [1]: http://stackoverflow.com/questions/6157652/android-getmeasuredheight-returns-wrong-values – ObAt
Ho provato le soluzioni proposte in tale thread e in questo (http: // stackoverflow .com/questions/4668939/viewgrouptextview-getmeasuredheight-gives-wrong-value-is-smaller-than-real), ma hanno lo stesso risultato. – nhaarman
Dove hai usato esattamente quel codice? – Luksprog