Sprawdź, czy textview jest elipsowany w Androidzie
mamTextView
o szerokości jakwrap content
. W tymTextView
Ustawiam tekst, ale za każdym razem tekst nie ma takiej samej długości. Gdy tekst jest bardzo długi, używam wiersza pojedynczego true iellipsize
: koniec. Ale teraz mam problem. Chcę ustawić widoczność innego układu, ale to zależy od długości mojego tekstu. Jeśli tekst jest zbyt długi, aby zmieścić się na ekranie, chcę ustawić trueVisible, ale gdy tekst jest krótki i gdy nie potrzebuję elipsy, chcę ustawić widoczność jako fałszywą. Muszę więc sprawdzić status mojego TextView. Kiedy jego elipsa, chcęsetVisible
prawda, gdy nie jestsetVisible
fałszywy. Jak mogę to zrobić. To właśnie dostałem:
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);
}
ale to rozwiązanie nie działa.