Ho uno EditText
, uno Button
e uno TextView
. Facendo clic sul pulsante, la vista testo mostra il testo scritto in edittext. È possibile trovare la dimensione della visualizzazione del testo occupata a seconda del testo. Ad esempio, se ha tre caratteri "abc", qual è la larghezza ora, se ha 5 caratteri come "abcde", qual è la larghezza?Come trovare l'area di testo (altezza/larghezza) di TextView a livello di programmazione in Android
Come trovare l'area di testo (altezza/larghezza) di TextView a livello di programmazione in Android
risposta
Rect bounds = new Rect();
Paint textPaint = textView.getPaint();
textPaint.getTextBounds(text,0,text.length(),bounds);
int height = bounds.height();
int width = bounds.width();
o
textView.setText("bla");
textView.measure(0, 0);
textView.getMeasuredWidth();
textView.getMeasuredHeight();
provare in questo modo, spero che questo vi aiuterà a risolvere il tuo problema.
yourTextView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int width = yourTextView.getMeasuredWidth();
int height = yourTextView.getMeasuredHeight();
}
});
Ciao @MD, puoi dare un'occhiata a http://stackoverflow.com/questions/25196894/how-to-get-list-item-data-in-bindview-when-clicking-on -radiobutton-in-android –
Si prega di provare questo:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView edit = (TextView) findViewById(R.id.edit);
edit.setTextSize(20);
edit.setText("Hello, world");
edit.measure(0, 0);
int width = edit.getMeasuredWidth();
Log.w("width", width.toString());
}
Prima di ottenere la larghezza, si deve misurare la vista di modifica/etichetta/testo. Per favore fatemi sapere se questo non funziona.
Entrambe le risposte sono corrette, la tua e quella sopra ... Thnx funziona. –
Plese segna come risposta (il pulsante sotto il basso voto) E sono contento che ha funzionato. – Iosif
per favore dimmi larghezza in ??? vuoi ?
TextView
metodo getWidth()
dà larghezza della vista, espressa in pixel
TextView textView = (TextView)findViewById(R.id.textview);
textView.getWidth(); //width of your view, in pixels
Intendevo trovare la larghezza in base al testo. –
TextView txt = new TextView(mContext);
txt.setText("Some Text)";
int height = txt.getLineCount() * txt.getLineHeight();
int width = txt.getWidth();
funzionare grande ... thnx. –
ha funzionato come un fascino –