2012-04-09 11 views
9

Potrzebuję utworzyć działanie, które powinno wyglądać jak okno dialogowe z zaokrąglonymi narożnikami.jak uzyskać zaokrąglony motyw okna dialogowego dla aktywności

Dla tego wymogu ustawić

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

Teraz moja aktywność wygląda oknie dialogowym ale muszę jej rogi być zaokrąglone.

Następnie utworzyłem xml z atrybutem i ustawiłem ten drawowalny jako mój motyw aktywności, ale teraz moja aktywność nie wygląda jak okno dialogowe.

Proszę zasugerować, co można zrobić, aby moja aktywność wyglądała jak okno dialogowe z zaokrąglonymi narożnikami.

Odpowiedz

31

można tworzyć własne theme że ma zaokrąglone rogi. Po pierwsze trzeba mieć drawable dla Activity tle:

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

Następny zrobić własny motyw, który rozciąga macierzystą 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> 

To będzie w pliku o nazwie styles.xml w folderze res/values. Użyj tego tematu w manifeście android dla Activity chcesz:

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

proszę moja droga, twoja odpowiedź może być zastosowana do ostrzeżenia sandwish alertdialog, próbuję ale to nie działa, nie mogę dostać za rogiem, dzięki –

+0

dobra odpowiedź dzięki –

+0

Dzięki za podpowiedź do korzystania z motywu. Ustawienie szuflady jako tła nie uczyniło przezroczystych bitów narożnych. –

0

Najpierw utwórz kształt zaokrąglony narożnik rozciągliwej tak:

dialogbg.xml:

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

Następnie przejdź do pliku xml układ dla swojej działalności, a także zmienić to android: backgorund atrybutów jak tak

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

Saarraz, dzięki za pomoc, ale starałem się wyżej rozwiązania, jego modyfikację kształtu układu, ale nie rzeczywista aktywność. – brig

Powiązane problemy