Vous devez créer des dessinables (XML), 1 pour l'arrière-plan (vous pouvez donc ajouter les coins arrondis) et un autre 1 pour le bouton où vous allez ajouter le dégradé et le contour.
EDIT: Ajout d'un exemple.
Résultat:
layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#d4d4d4" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="4dp"
android:layout_marginRight="4dp"
android:layout_marginTop="15dp"
android:background="@drawable/round_borders"
android:orientation="vertical"
android:paddingTop="40dp" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:singleLine="true"
android:text="username" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:paddingBottom="0dp"
android:paddingTop="0dp"
android:singleLine="true"
android:text="password" />
<Button
style="@style/OrangeButtons"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40dp"
android:gravity="center"
android:paddingBottom="3dp"
android:paddingTop="3dp"
android:text="Log in" />
</LinearLayout>
</RelativeLayout>
@ style/OrangeButtons
<style name="OrangeButtons">
<item name="android:gravity">center</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:focusable">true</item>
<item name="android:background">@drawable/orange_button</item>
</style>
@ drawable/orange_button
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#f29d00"
android:endColor="#d96c00"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#fade96" />
<corners
android:radius="15dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="#f29d00"
android:startColor="#d96c00"
android:angle="270" />
<stroke
android:width="1dp"
android:color="#fade96" />
<corners
android:radius="15dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="#f29d00"
android:startColor="#d96c00"
android:angle="90" />
<stroke
android:width="1dp"
android:color="#fade96" />
<corners
android:radius="15dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
@ drawable/round_borders
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/white" />
<padding android:left="20dp" android:top="35dp"
android:right="20dp" android:bottom="15dp" />
<corners android:radius="8dp" />
</shape>
pour mon écran ne est pas juste de fond blanc. Donc j'ai besoin d'utiliser l'image. – Vivart
Dans ce cas, vous pouvez utiliser ImageView dans votre mise en page. –
ouais j'ai essayé cela mais framelayout avec imageview mais j'ai mentionné que l'image est plus grande que l'écran si wrapcontent prend tout l'écran. – Vivart