438 Stimmen

Gibt es eine einfache Möglichkeit, einen Rahmen am oberen und unteren Rand einer Android-Ansicht hinzuzufügen?

Ich habe eine TextView und ich möchte einen schwarzen Rand entlang der oberen und unteren Grenzen hinzufügen. Ich habe versucht, hinzuzufügen android:drawableTop y android:drawableBottom auf die TextView, aber das führte nur dazu, dass die gesamte Ansicht schwarz wurde.

<TextView
    android:background="@android:color/green"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableTop="@android:color/black"
    android:drawableBottom="@android:color/black"
    android:text="la la la" />

Gibt es eine Möglichkeit, einfach einen oberen und unteren Rand zu einer Ansicht (insbesondere eine TextView) in Android hinzufügen?

1voto

pogo Punkte 53

Auf der Grundlage der akzeptierten Antwort von Pi Delport und Emile habe ich es ein wenig einfacher gemacht

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>  <!--divider TOP and BOTTOM-->
    <shape android:shape="rectangle">
        <stroke 
            android:width="1dp"
            android:color="@color/divider" />
    </shape>
</item>

<!--background surface-->
<item
    android:top="1dp"
    android:bottom="1dp">
    <shape android:shape="rectangle">
        <solid android:color="@color/background" />
    </shape>
</item>

0voto

Vinoj Vetha Punkte 676
<shape xmlns:android="http://schemas.android.com/apk/res/android">

<solid android:color="@color/light_grey1" />
<stroke
    android:width="1dip"
    android:color="@color/light_grey1" />

<corners
    android:bottomLeftRadius="0dp"
    android:bottomRightRadius="0dp"
    android:topLeftRadius="5dp"
    android:topRightRadius="5dp" />

    </shape>

0voto

Vinod Joshi Punkte 7388
// Just simply add border around the image view or view

<ImageView
                android:id="@+id/imageView2"
                android:layout_width="90dp"
                android:layout_height="70dp"
                android:layout_centerVertical="true"
                android:layout_marginRight="10dp"
                android:layout_toLeftOf="@+id/imageView1"
                android:background="@android:color/white"
                android:padding="5dip" />

// After that dynamically put color into your view or image view object

objView.setBackgroundColor(Color.GREEN);

//VinodJ/Abhishek

-1voto

Aquib Maniyar Punkte 17
<TextView
    android:id="@+id/textView3"
    android:layout_width="match_parent"
    android:layout_height="2dp"
    android:background="#72cdf4"
    android:text=" aa" />

Fügen Sie einfach diese TextView unterhalb des Textes ein, wo Sie den Rahmen hinzufügen möchten

-1voto

Garry Dias Punkte 413

Nur zur Durchsetzung @phreakhead 's y Benutzer1051892 's Antworten, <item android:bottom|android:left|android:right|android:top> falls negativ, muss größer sein als <stroke android:width> . Andernfalls wird das Bild des Gegenstands mit dem Bild des Strichs vermischt, und Sie könnten denken, dass diese Werte nicht funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X