2012-04-09 21 views
9

Necesito crear una actividad que debería verse como un cuadro de diálogo con esquinas redondeadas.cómo obtener el tema de diálogo redondeado para la actividad

Para este requisito puse

android:theme="@android:style/Theme.Dialog" 

Ahora mi actividad se parece a un cuadro de diálogo pero necesito sus esquinas para ser redondeados.

Luego creé xml con atributo y configuré este dibujante como mi tema de actividad pero ahora mi actividad no se parece a un cuadro de diálogo.

Por favor sugiérame qué se puede hacer para que mi actividad se vea como un cuadro de diálogo con esquinas redondeadas.

Respuesta

31

Usted puede hacer sus propias theme esquinas redondeadas que ha. En primer lugar se necesita un drawable para el fondo Activity:

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

    <corners android:radius="15dp" /> 

    <solid android:color="#565656" /> 

    <stroke 
     android:width="3dp" 
     android:color="#ffffff" /> 

    <padding 
     android:bottom="6dp" 
     android:left="6dp" 
     android:right="6dp" 
     android:top="3dp" /> 

</shape> 

Siguiente hacer su propio tema que se extiende al padre Theme.Dialog:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <style name="ThemeWithCorners" parent="android:Theme.Dialog"> 
     <item name="android:windowBackground">@drawable/another_test_drawable</item> 
    </style> 


</resources> 

Esto será en un archivo con el nombre de la carpeta styles.xmlres/values. Utilizar este tema en el manifiesto de Android para el Activity desea:

//... 
<activity 
      android:name=".ActivityName" 
      android:label="@string/app_name" 
      android:theme="@style/ThemeWithCorners" > 
//... 
+0

por favor cariño, su respuesta se puede aplicar al helado sandwish alertdialog, lo intento pero no funciona, no puedo redondear la esquina, gracias –

+0

buena respuesta gracias –

+0

Gracias por la sugerencia de usar un tema. Simplemente establecer el dibujable como fondo no hace que los bits de esquina sean transparentes. –

0

En primer lugar, crear una forma estirable esquina redondeada de este modo:

dialogbg.xml:

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <corners android:radius="15dp" /> 
</shape> 

A continuación, vaya al archivo XML diseño para su actividad, y cambiar su androide: Backgorund atribuyen como por lo

<RelativeLayout 
    android:layout_width="..." 
    android:layout_height="..." 
    android:background="@drawable/dialogbg"> 
    <!--views here...--> 
</RelativeLayout> 
+2

Saarraz, gracias por su ayuda, pero he probado la solución anterior, Su modificación de la forma de diseño, pero no la actividad real. – brig

Cuestiones relacionadas