Wie grenze ich eine Android-Textansicht ein?
Ist es möglich, zeichnen Sie einen Rahmen um ein textview?
InformationsquelleAutor der Frage yamspog | 2010-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich, zeichnen Sie einen Rahmen um ein textview?
InformationsquelleAutor der Frage yamspog | 2010-08-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie ein shape drawable (ein Rechteck) als hintergrund für die Ansicht.
Rechteck drawable back.xml (in res/drawable Ordner):
Können Sie
@android:color/transparent
für die Füllfarbe auf einen transparenten hintergrund haben.Sie können auch Polsterung, um den text getrennt von der Grenze.
weitere Informationen finden Sie unter: http://developer.android.com/guide/topics/resources/drawable-resource.html
InformationsquelleAutor der Antwort Konstantin Burov
Lassen Sie mich zusammenfassen, ein paar verschiedene (nicht-programmatische) Methoden.
Mit einem shape drawable
Speichern Sie die folgenden XML-Datei in Ihrem drawable-Ordner (zum Beispiel, my_border.xml):
Dann nur legen Sie es als hintergrund, um Ihr TextView:
Mehr helfen:
Mit einem 9-patch
Einem 9-patch ist ein dehnbarer hintergrund Bild. Wenn du ein Bild mit einem Rahmen, dann Sie geben dem TextView eine Grenze. Alles, was Sie tun müssen ist, stellen Sie das Bild und legen Sie es auf den hintergrund in dein TextView.
Hier sind einige links, die Ihnen zeigen, wie man eine 9-patch-Bild:
Was ist, wenn ich nur wollen, dass die Obere Grenze?
Mit einem layer-Liste
Können Sie eine layer-Liste, stack zwei Rechtecke auf der jeweils anderen. Das zweite Rechteck nur ein wenig kleiner als das erste Rechteck können Sie ein border-Effekt. Die ersten (unteren) Rechteck ist die Rahmenfarbe und das zweite Rechteck ist die Hintergrundfarbe.
Einstellung
android:top="2dp"
offsets der Oberseite (macht ihn kleiner) von 2dp. Dies ermöglicht dem ersten (unteren) Rechteck zu zeigen, durch, wodurch eine grenzüberschreitende Wirkung. Sie können diese anwenden, um die TextView hintergrund der gleichen Weise, dass dieshape
drawable getan wurde, vor.Hier sind einige weitere links, die über layer-Listen:
Mit einem 9-patch
Können Sie nur eine 9-patch-Bild mit einem einfachen Rahmen. Alles andere ist das gleiche, wie oben diskutiert.
Mit Blick
Dies ist ein trick, aber es funktioniert gut, wenn Sie müssen, fügen Sie ein Trennzeichen zwischen zwei Ansichten oder einen Rahmen zu einer einzelnen TextView.
Hier sind einige weitere links:
InformationsquelleAutor der Antwort Suragch
Der einfache Weg ist, um eine Ansicht für Ihre TextView. Beispiel für die untere Grenze:
Für die andere Richtung Grenzen, bitte passen Sie die Position des separator-Ansicht.
InformationsquelleAutor der Antwort Young Gu
Ich habe dieses Problem gelöst durch die Verlängerung der textview und zeichnen einen Rahmen manuell.
Ich habe sogar Hinzugefügt, so können Sie auswählen, ob ein Rand ist gepunktet oder gestrichelt sein.
- Und die border-Klasse:
Hoffe, das jemand hilft 🙂
InformationsquelleAutor der Antwort Bojan Jovanovic
Ich war gerade auf der Suche auf eine ähnliche Antwort-- es ist in der Lage zu tun, mit einem Schlaganfall und der folgenden überschreiben:
InformationsquelleAutor der Antwort sdtechcomm
Fand ich einen besseren Weg, um einen Rahmen um ein TextView.
Verwenden Sie ein neun-patch-Bild für den hintergrund. Es ist ziemlich einfach, das SDK enthält ein tool, um die 9-patch-Bild, und es geht absolut keine Codierung.
Den link http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch.
InformationsquelleAutor der Antwort Nick
Können Sie die Grenze von zwei Methoden. Man ist von drawable und das zweite ist programmatisch.
Mit Drawable
Programmatischen
InformationsquelleAutor der Antwort Maulik Santoki
Überprüfen Sie den link unten, um abgerundete Ecken
http://androidcookbook.com/Recipe.seam?recipeId=2318
Den drawable-Ordner unter res, in einem Android-Projekt ist nicht nur bitmaps (PNG-oder JPG-Dateien), aber es können auch Formen in XML-Dateien definiert.
Diese Formen können dann wiederverwendet werden, in das Projekt. Eine Form kann verwendet werden, um einen Rahmen um ein layout. Dieses Beispiel zeigt einen rechteckigen Rahmen mit abgerundeten Ecken. Eine neue Datei namens customborder.xml erstellt in den drawable-Ordner (in Eclipse-verwenden Sie das Menü Datei, und wählen Sie dann Neue Datei, mit der drawable Ordner ausgewählt, geben Sie den Namen der Datei und klicken Sie auf Fertig stellen).
Die XML-Definition der Grenze Form eingetragen:
Dem Attribut
android:shape
ist auf Rechteck eingestellt (shape-Dateien auch unterstützen, oval, Linie und ring). Rechteck ist die Standardeinstellung, so dass dieses Attribut kann weggelassen werden, wenn es ein Rechteck definiert wird. Finden Sie in der Android-Dokumentation auf Formen, die bei http://developer.android.com/guide/topics/resources/drawable-resource.html#Shape für detaillierte Informationen über eine shape-Datei.Den element-Ecken setzt das Rechteck Ecken gerundet werden. Es ist auch möglich, einen anderen radius an jeder Ecke (siehe Android-Referenz).
Die padding-Attribute werden verwendet, um verschieben Sie den Inhalt der Anzeigen, auf die Form angewendet wird, um zu verhindern, dass der Inhalt überschneidet sich mit der
Grenze.
Die Rahmenfarbe hier legen Sie an einem hellen Grau (CCCCCC hexadezimaler RGB-Wert).
Formen auch Unterstützung von Farbverläufen, aber das ist nicht hier. Wieder, finden Sie in der Android-Ressourcen, um zu sehen, wie ein Verlauf definiert ist. Die Form wird angewendet, um das laypout mit
android:background="@drawable/customborder"
.Innerhalb der layout-andere Ansichten können Hinzugefügt werden, als normal. In diesem Beispiel wird eine einzelne TextView wurde Hinzugefügt, und der text ist weiß (FFFFFF hexadezimale RGB). Der hintergrund ist blau, plus einige Transparenz um die Helligkeit zu verringern (A00000FF hexadezimal-alpha-RGB-Wert). Schließlich ist das layout offset vom unteren Rand des Bildschirms, indem Sie es in ein anderes layout mit einer kleinen Menge von Polsterung. Der komplette layout-Datei ist so:
InformationsquelleAutor der Antwort Bahaa Hany
Können Sie etwas hinzufügen, wie Sie diese in Ihrem code:
InformationsquelleAutor der Antwort newbie
Ich habe einen Weg, es zu tun sehr einfach, und ich möchte es teilen.
Wenn ich will-Platz mi TextViews, ich legte Sie in ein LinearLayout. Ich habe die Hintergrundfarbe von meinem LinearLayout, und ich füge ein padding auf meine TextView. Das Ergebnis ist genau so, als ob Sie die Quadratur des TextView.
InformationsquelleAutor der Antwort Roman Panaget
Hier ist meine "einfachen" Helfer-Klasse, die gibt eine Bildansicht mit der Grenze. Nur diese fallen in Ihrer utils-Ordner, und rufen Sie es wie folgt:
Hier ist der code.
InformationsquelleAutor der Antwort Aggressor
Einfachste Lösung, die ich gefunden habe (und die tatsächlich funktioniert):
InformationsquelleAutor der Antwort Protean
Dieser kann Ihnen dabei helfen.
InformationsquelleAutor der Antwort Mete
Erstellen Sie eine Grenze Ansicht mit der hintergrund Farbe wie die Farbe des Rahmens und die Größe der text-Ansicht. set border view Polsterung als die Breite der Grenze. Legen Sie die text-Ansicht Hintergrundfarbe die Farbe, die Sie wollen, für die text-Ansicht. Jetzt fügen Sie Ihre text-anzeigen innerhalb der Grenze betrachten.
InformationsquelleAutor der Antwort praveen agrawal
Ändern Konstantin Burow beantworten, weil nicht in meinem Fall:
compileSdkVersion 26 (Android 8.0),
minSdkVersion 21 (Android 5.0),
targetSdkVersion 26,
- Implementierung " com.android.support:appcompat-v7:26.1.0',
gradle:4.1
InformationsquelleAutor der Antwort Ed1085
Eigentlich ist es ganz einfach. Wenn Sie möchten, eine einfache schwarze Rechteck hinter dem Textview, fügen Sie einfach
android:background="@android:color/black"
innerhalb des TextView-tags. Wie diese:InformationsquelleAutor der Antwort user3631822