2012-11-20 55 views
18
的DialogFragment

我在android中構建了我的第一個應用程序。我做了一個dialogFragment,但它看起來不夠好。因爲有一個風格和一個主題,我用這個setStyle(DialogFragment.STYLE_NORMAL,0)。我想要的是片段的邊緣像黑框一樣黑,或者有一個圓角。我想我必須在xml中編寫自己的風格並將其放入樣式中,但我不確定。有人能指引我走向正確的方向嗎?感謝您的時間。Android中的主題爲

回答

28

如您所說,您需要創建要應用的樣式,然後將其作爲setStyle()方法調用中的第二個參數分配給DialogFragment。您必須記得在致電show()之前撥打此電話。

所以,如果你創建一個在res /價值/ styles.xml名爲 「myStyle的」 新風格:

<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    . 
    . 
    . 
    <style name="MyStyle"> 
     . 
     . 
     . 
    </style> 
    . 
    . 
    . 
</resources> 

然後在你的setStyle調用使用:

DialogFragment dial = (DialogFragment) Fragment.instantiate(this, MyDialogFragment.class.getCanonicalName()); 
dial.setStyle(DialogFragment.STYLE_NORMAL, R.style.MyStyle); 
dial.show(); 
+1

謝謝回覆。好吧,這是好消息和壞消息。看到我不知道如何在xml中構建類似的東西。你知道任何教程/示例代碼嗎? – Libathos

+0

我的博客上有很多例子:http://blog.stylingandroid.com。具體來說,有一些關於將樣式應用於AlertDialog的文章,這些文章可能與您最相關:http://blog.stylingandroid.com/archives/271 –

+0

好了,然後我會檢查它們並回復給您答謝。 – Libathos