Расчет ширины TextView, а также вычисление ширины текста, который будет отображаться в текстовом представлении. Если ширина текста больше ширины textView, это означает, что вам нужно вызвать диалоговое окно, потому что текст будет размечен. В противном случае текст полностью помещается в TextView без каких-либо проблем, поэтому нет необходимости в диалоговом окне.
используйте следующий код.
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
// System.out.println("...111Height..."+mainLayout.getMeasuredHeight());
isMarqueed("I am fine here. How r u", textView.getWidth(), textView);
isMarqueed("I am fine", textView.getWidth(), textView);
}
private boolean isMarqueed(String text, int textWidth, TextView tv) {
Paint testPaint = new Paint();
testPaint.set(tv.getPaint());
boolean isMarquee = true;
if (textWidth > 0) {
int availableWidth = (int) (textWidth - tv.getPaddingLeft() - tv.getPaddingRight()-testPaint.measureText(text));
System.out.println("...available width..."+availableWidth);
// tv.setText(text);
isMarquee = false;
}
return isMarquee;
}
Спасибо
Дипак