2012-04-09 7 views
9

Ho bisogno di creare un'attività che dovrebbe apparire come una finestra di dialogo con gli angoli arrotondati.come ottenere tema di dialogo arrotondato per attività

Per questo requisito ho impostato

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

Ora la mia attività si presenta come una finestra di dialogo, ma ho bisogno dei suoi angoli arrotondati.

Quindi ho creato xml con l'attributo e impostato questo drawable come tema della mia attività, ma ora la mia attività non sembra una finestra di dialogo.

Si prega di suggerire cosa si può fare in modo che la mia attività assomigli ad una finestra di dialogo con angoli arrotondati.

risposta

31

Si potrebbe rendere il proprio theme angoli arrotondati che si è. In primo luogo è necessario un drawable per il Activity sfondo:

<?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> 

Avanti rendere il proprio tema che si estende il genitore 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> 

Questo sarà in un file chiamato styles.xml nella cartella res/values. Utilizzare questo tema nel manifesto di Android per il Activity si desidera:

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

per favore mia cara, la tua risposta può essere applicata al messaggio di avviso di ice cream sandwish, io cerco ma non funziona, non posso andare in dietro, grazie –

+0

buona risposta grazie –

+0

Grazie per il suggerimento di usare un tema. L'impostazione del drawable come sfondo non ha reso trasparenti i bit d'angolo. –

0

In primo luogo, creare una arrotondata drawable forma angolare in questo 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> 

Poi, passare al file XML di layout per la vostra attività, e cambiare è Android: backgorund attributo come così

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

Saarraz, Grazie per il vostro aiuto, ma ho provato la soluzione di cui sopra, la sua modificare la forma di aspetto, ma non l'attività vera e propria. – brig

Problemi correlati