Ich habe TextView
mit Breite wie wrap content
. In diesem TextView
setze ich Text, aber Text ist nicht jedes Mal die gleiche Länge. Wenn der Text sehr lang ist, verwende ich eine einzelne Zeile und true und ellipsize
: Ende. Aber jetzt habe ich ein Problem. Ich möchte die Sichtbarkeit eines anderen Layouts einstellen, aber das hängt von der Länge meines Textes ab. Wenn Text zu lang ist, um in den Bildschirm zu passen, möchte ich Visible auf true setzen, aber wenn der Text kurz ist und ich keine Ellipsenbreite brauche, möchte ich die Sichtbarkeit auf false setzen. Also muss ich den Status meiner TextView überprüfen. Wenn seine Ellipse möchte ich setVisible
wahr, wenn es nicht setVisible
falsch ist. Wie kann ich das machen? Das ist, was ich habe:Prüfen, ob Textansicht in Android ellipsentiert ist
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);
}
aber diese Lösung funktioniert nicht.
Postleitzahl. sagen Sie, ob es Fehler gibt. damit die Leute besser verstehen, was Sie fragen wollen und wo genau Ihr Problem liegt. –
Mögliches Duplikat von [Wie kann ich feststellen, ob meine Textansicht ellipsentiert wurde?] (Http://stackoverflow.com/questions/4005933/how-do-i-tell-if-my-textview-has-been-ellipsized) –