2013-06-14 11 views
6

Czy ktoś mógłby wyjaśnić, dlaczego to stwierdzenie działa doskonale:Jak ustawić motyw dla DialogFragment

setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo); 

i następna deklaracja nie dostarcza

setStyle(DialogFragment.STYLE_NO_TITLE, R.style.dialog); 

To jest to, co mam w stylu użytkownika Dział: ustawienie

<style 
    name="dialog"> 
    <!-- title encapsulating main part (backgroud) of custom alertdialog --> 
    <item 
     name="android:windowFrame">@null</item> 
     <!-- turn off any drawable used to draw a frame on the window --> 
    <item 
     name="android:windowBackground">@null</item> 
     <!-- turn off any drawable used to draw a frame on the window --> 
    <item 
     name="android:windowIsFloating">true</item> 
     <!-- float the window so it does not fill the screen --> 
    <item 
     name="android:windowNoTitle">true</item> 
     <!-- remove the title bar we make our own--> 
    <item 
     name="android:windowContentOverlay">@null</item> 
     <!-- remove the shadow from under the title bar --> 
</style> 
+1

What's problem? – Blackbelt

Odpowiedz

0

spróbować tematu nadrzędnego jak

<style name="dialog" parent="@android:style/Theme.Dialog"> 
+0

@blackbelt: Nie wolno mi umieszczać zdjęć, więc jest to trochę trudne do wyjaśnienia w słowach. – PageMaker

+0

Próbowałem tego; ale bez zmian. Bezpośrednie użycie Theme_Holo daje mi oczekiwane ciemne tło bez tytułu; właśnie tego chcę. Korzystanie z mojego "stylu" w moim własnym stylu pokazuje mi okno dialogowe, którego nie chcę. – PageMaker

20

jej chyba zbyt późno, by odpowiedzieć, ale spróbuj za pomocą kodu w onCreate fragmentu jak

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 

     setStyle(DialogFragment.STYLE_NO_TITLE, R.style.dialog); 
    } 
Powiązane problemy