У меня TextView
с шириной как wrap content
. В этом TextView
я устанавливаю текст, но текст не имеет одинаковой длины каждый раз. Когда текст очень длинный, я использую одиночную строку true и ellipsize
: end. Но теперь у меня проблема. Я хочу установить видимость другого макета, но это зависит от длины моего текста. Если текст слишком длинный, чтобы поместиться на экране, я хочу установить значениеVisible true, но когда текст короткий и когда мне не нужна эллипсизация, я хочу установить видимость false. Поэтому мне нужно проверить статус моего TextView. Когда его эллипсис я хочу setVisible
true, когда его не setVisible
false. Как я могу это сделать.
Это то, что я получил:
tvAle.post(new Runnable() {
@Override
public void run() {
int lineCount = tvAle.getLineCount();
Paint paint = new Paint();
paint.setTextSize(tvAle.getTextSize());
final float size = paint.measureText(tvAle.getText().toString());
Log.v("a", ""+size+" "+tvAle.getWidth());
if ((int)size > (tvAle.getWidth()+10)) {
allergiesLayout.setVisibility(View.VISIBLE);
}
else
allergiesLayout.setVisibility(View.GONE);
}
но это решение не работает.