2012-07-03 7 views
10

Sto cercando di fare un bordo intorno il mio layout come questodi frontiera per il layout

two text areas with rounded borders

Ma che cosa sto provando basta cambiare il colore di layout. Non creare alcun bordo.

mio codice è

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" 
> 

<stroke android:width="1dp" 

     android:color="#eedfcc" 
     android:background="#000080"/> 

<corners android:bottomRightRadius="20dp" 
     android:bottomLeftRadius="20dp" 
     android:topLeftRadius="10dp" 
     android:topRightRadius="8dp"/> 
</shape> 

Perché non funziona?

+0

voi non ha ancora definire il tipo di forma come questo

+0

in realtà non è completamente rettangolare – MBMJ

risposta

33

prova questo:

FASE 1: Creare il file nella directory layout_border.xml drawable del progetto (res/drawable/layout_border.xml):

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#FFFFFF"/> 
    <stroke android:width="3dip" android:color="#B1BCBE" /> 
    <corners android:radius="10dip"/> 
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
</shape> 

FASE 2:

<EditText 
    android:id="@+id/edittext" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/layout_border" 
    /> 
+0

Soluzione davvero bella. Veloce, facile e ben documentato. È stato in grado di implementare facilmente anche in Android Studio 2.1.1. – raddevus

1

Prova di questo codice:

<EditText 
    android:id="@+id/edittext1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@drawable/textboxes" 
    /> 

E creare il file xml nella cartella drawable denominata 'caselle di testo' e scrivere questo codeina che:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
<stroke 
    android:color="#f269be" 
    android:width="2dp" /> 
<solid 
    android:color="#ffffff" /> 
</shape> 

Fro confine angolo rotondo, scrivere questo:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#009FFFFF"/> 
<corners android:radius="10px"/> 
<padding android:left="1dp" android:top="2dp" android:right="2dp" android:bottom="2dp" /> 
<stroke android:width="2dp" android:color="#AAAAAA" /> 
</shape> 
3

Creare un file "res /drawable/my_border.xml "e definire una forma:

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <stroke android:width="4dp" android:color="#FF00FF00" /> 
    <solid android:color="#ffffff" /> 
    <padding android:left="7dp" android:top="7dp" 
      android:right="7dp" android:bottom="7dp" /> 
    <corners android:radius="4dp" /> 
</shape> 

T gallina aggiungere questo come sfondo all'interno del tag di layout:

android:background="@drawable/my_border" 
2

Soluzione 1:

my_edittext_bg

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" >  
    <!-- Color of the border --> 
    <stroke 
     android:width="2dp" 
     android:color="#FF0000" /> 
    <!-- Use this if you want to round your Corners --> 
    <corners android:radius="5dp" /> 
    <!-- Use this attribute if you want add some paddings --> 
    <padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" /> 
    </shape> 

Ora impostare questo come sfondo della tua modifica testo

android:background="@drawable/my_edittext_bg" 

Soluzione 2:

Utilizzare questa 9-patch drawable come sfondo del vostro EditText

enter image description here