Ich habe eine benutzerdefinierte EditText
Klasse. In diesem EditText
muss ich eine Breite der Eingabe herausfinden. Abhängig von inputType
von EditText
hat der Text unterschiedliche Breitenwerte.EditText Breite des versteckten Textes
Zum Beispiel:
final String text = "azazaz";
setText(text);
input Passwort ist, so Benutzer sehen, dass: ****** (40px für zB)
nicht input, so Benutzer sehen, dass : azazaz (60px für zB)
Aber der folgende Code wird den gleichen Wert vonsetzenin beiden Optionen (Breite des Textes ohne inputType
)
final Paint p = new Paint();
p.setTextSize(getTextSize());
final float textWidth = p.measureText(text);
FRAG: Wie kann ich einen echten Breitenwert von Text mit Passwort input finden?
es gute Lösung sein, aber Text verborgen ist, nicht durch „\ *“ Symbole. Text wird durch nicht symbolische Punkte verdeckt. Ich benutze "\ *" als Zeichen für diese Punkte. –
@ P.Ilyin Ich habe meine Antwort bearbeitet, um Passcode-Symbol dynamisch zu erkennen – birdy
Sie könnten 'password = method.getTransformation (text, textView);' und beseitigen Sie die Schleife und 'StringBuilder' –