Ich habe ein großes Layout und ein kleineres Layout darin.Wie kann ich einen Rahmen um ein Android LinearLayout erstellen?
Wie erstelle ich einen Linienrand um das kleine Layout?
Ich habe ein großes Layout und ein kleineres Layout darin.Wie kann ich einen Rahmen um ein Android LinearLayout erstellen?
Wie erstelle ich einen Linienrand um das kleine Layout?
Sicher. Sie können einem beliebigen Layout einen Rahmen hinzufügen. Grundsätzlich müssen Sie ein benutzerdefiniertes Zeichen erstellen und es als Hintergrund zu Ihrem Layout hinzufügen. Beispiel:
eine Datei customborder.xml
in Ihrem ziehbar Ordner mit dem Namen erstellen:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<corners android:radius="20dp"/>
<padding android:left="10dp" android:right="10dp" android:top="10dp" android:bottom="10dp"/>
<stroke android:width="1dp" android:color="#CCCCCC"/>
</shape>
Jetzt ist es als Hintergrund für Ihre kleineren Layout anwenden:
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/customborder">
, die den Trick tun sollten.
Siehe auch:
Der Trick hier ist eigentlich die
Beide '
erstellen XML genannt border.xml in ziehbar Ordner wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#FF0000" />
</shape>
</item>
<item android:left="5dp" android:right="5dp" android:top="5dp" >
<shape android:shape="rectangle">
<solid android:color="#000000" />
</shape>
</item>
</layer-list>
dann dies lineare Layout hinzufügen, backgound als das:
android:background="@drawable/border"
Versuchen Sie folgendes:
Zum Beispiel definieren wir res/ziehbar/my_custom_background.xml als:
(dieses Layout in Ihrem ziehbar Ordner erstellen) layout_border.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<stroke android:width="2dp" android:height="2dp"
android:color="#FF0000" />
<solid android:color="#000000" />
<padding android:left="1dp" android:top="1dp" android:right="1dp"
android:bottom="1dp" />
<corners android:radius="1dp" android:bottomRightRadius="5dp"
android:bottomLeftRadius="0dp" android:topLeftRadius="5dp"
android:topRightRadius="0dp" />
</shape>
</item>
</layer-list>
main.xml
<LinearLayout
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="200dp"
android:background="@drawable/layout_border" />
</LinearLayout>
Crea te eine eine XML-Datei in ziehbar Ordner
<stroke
android:width="2dp"
android:color="#B40404" />
<padding
android:bottom="5dp"
android:left="5dp"
android:right="5dp"
android:top="5dp" />
<corners android:radius="4dp" />
nun diese xml zu Ihrem kleinen Hintergrund Layout rufen
android: background = "@ ziehbar/yourxml"
Elementhub ist hier nicht erlaubt. – hdavidzhu
Diese Lösung wird nur den Rahmen hinzufügen, der Körper des LinearLayout wird transparent sein.
Erstellen Sie zunächst diese Grenze ziehbar im ziehbar Ordner border.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android= "http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="2dp" android:color="#ec0606"/>
<corners android:radius="10dp"/>
</shape>
Dann in Ihrer Linearlayout-Ansicht, die Grenze hinzuzufügen.xml als Hintergrund wie diese
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/border">
Sie können es tun Pragmatisch auch
GradientDrawable gradientDrawable=new GradientDrawable();
gradientDrawable.setStroke(4,getResources().getColor(R.color.line_Input));
Stellen Sie dann den Hintergrund Layout wie:
LinearLayout layout = (LinearLayout) findViewById(R.id.ayout); layout .setBackground(gradientDrawable);
I Android docs zu anderen Link hinzufügen werden Antworten.
https://developer.android.com/guide/topics/resources/drawable-resource.html#Shape
Es beschreibt alle Attribute der Form Drawable und stroke
unter ihnen die Grenze zu setzen.
Beispiel:
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<stroke android:width="1dp" android:color="#F00"/>
<solid android:color="#0000"/>
</shape>
Rote Grenze mit transparentem Hintergrund.
Haben Sie versucht http://stackoverflow.com/questions/3496269/how-to-put-a-border-around-an-android-textview? – sandrstar