Wie kann ich den Rand entfernen, mit dem angezeigt wird, wenn eine EditText-Ansicht fokussiert wird?
Ich brauche es, weil diese Ansicht wenig Platz auf dem Bildschirm hat, aber ohne Rand ist es genug. Beim Ausführen auf dem Emulator wird ein orangefarbener Rand angezeigt, auf dem Gerät ein blauer.
android
android-edittext
Marcos Vasconcelos
quelle
quelle
Antworten:
Haben Sie versucht, den Hintergrund von
EditText
auf eine transparente Farbe einzustellen?quelle
"@android:color/transparent"
ist etwas selbsterklärender."@null"
kann auch eine Option seinquelle
Es ist möglich. Ich würde es jedoch nicht empfehlen, da Benutzer an bestimmte Metaphern gewöhnt sind und Sie die allgemeine Benutzeroberfläche nicht ändern sollten.
Sie können Ihren Ansichten verschiedene Stile zuweisen. In Ihrem Fall möchten Sie ein EditText View-Element, das wie ein TextView-Element aussieht. In diesem Fall müssten Sie abhängig vom Status des View-Elements andere Hintergründe für den EditText angeben.
In Ihrer gewünschten layout.xml weisen Sie Ihrem EditText einen Hintergrund zu:
Anschließend erstellen Sie die Datei custom.xml in Ihrem Zeichenordner und fügen Folgendes hinzu:
Dies sind die möglichen Zustände Ihres EditText View-Elements. Normalerweise können Sie direkt mit der Android-Plattform auf Drawables zugreifen.
@android:drawable/textfield_default
In diesem Fall sind die Textfeld-Drawables jedoch privat, sodass Sie sie in Ihren eigenen Drawable-Ordner kopieren müssen. Die ursprünglichen Ressourcen finden Sie in Ihrem SDK-Installationsordner unterANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\
.Sobald Sie fertig sind, erhalten Sie einen EditText, der wie eine Textansicht aussieht, jedoch vollständig ohne diese Rahmen ist. Diese orangefarbenen Ränder, die Sie im Emulator gesehen haben, sind die Standard-Android-Zeichen. Die blauen sind herstellerspezifisch (möglicherweise Samsung).
Hoffe das hat geholfen und nicht so viel verwirrt.
quelle
Dies ist die schnellste Lösung:
quelle
Sie können die Hintergrundfarbe transparent halten, um den EditText-Rand im Fokus zu entfernen.
Methode 1
quelle