2014-06-23 12 views

Antwort

52
Rect bounds = new Rect(); 
Paint textPaint = textView.getPaint(); 
textPaint.getTextBounds(text,0,text.length(),bounds); 
int height = bounds.height(); 
int width = bounds.width(); 

oder

textView.setText("bla"); 
textView.measure(0, 0); 
textView.getMeasuredWidth(); 
textView.getMeasuredHeight(); 
+0

große Arbeit ... thnx. –

+0

arbeitete wie ein Charme –

2

auf diese Weise versuchen, hoffen, dass diese Sie Ihr Problem lösen helfen.

yourTextView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() { 
    int width = yourTextView.getMeasuredWidth(); 
    int height = yourTextView.getMeasuredHeight(); 

    } 
}); 
+0

Hallo @MD, können Sie plcz einen Blick auf http://stackoverflow.com/questions/25196894/how-to-get-list-item-data-in-bindview-when-clicking-on -radiobutton-in-android –

7

Bitte versuchen Sie dies:

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()); 
} 

Bevor Sie Breite zu erhalten, müssen Sie die Ansicht/label/Text bearbeiten messen. Bitte lassen Sie mich wissen, wenn dies nicht funktioniert.

+0

Beide Antworten sind richtig, deine und die obige ... Thnx funktioniert. –

+0

Ples als Antwort markieren (die Schaltfläche unten nach unten) Und ich bin froh, es hat funktioniert. – Iosif

2

Bitte sagen Sie mir Breite in ??? Möchtest du ?

TextView Methode getWidth() gibt Sie Ihre Ansicht Breite in Pixel

TextView textView = (TextView)findViewById(R.id.textview); 
textView.getWidth(); //width of your view, in pixels 
+0

Ich wollte die Breite je nach Text finden. –

0
TextView txt = new TextView(mContext); 
txt.setText("Some Text)"; 
int height = txt.getLineCount() * txt.getLineHeight(); 
int width = txt.getWidth();