使用自定義對話框,即具有android:theme="@android:style/Theme.Dialog"
,爲類的LinearLayout,它會像
public class YourCustomDialog extends Dialog implements DialogInterface
在那裏你可以實現你的什麼顯示自定義的邏輯。這樣的對話框在所有其他視圖之上是浮動和模態的,然後還可以選擇將背景設置爲模糊等。
這是我的自定義對話框的典型構造函數 - 佈局將在xml佈局文件中定義,在我的情況下是my_custom_dialog.xml:
public MyCustomDialog(Context context) {
super(context, android.R.style.Theme);
Window window = getWindow();
window.requestFeature(Window.FEATURE_NO_TITLE);
window.setGravity(Gravity.BOTTOM);
window.setBackgroundDrawable(context.getResources().getDrawable(R.drawable.empty));
setContentView(R.layout.my_custom_dialog);
// actually not necessary as it's already the default value:
window.setLayout(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
...
}
感謝您的快速響應。這將是我第一次創建自定義對話框。我會尋找一些關於如何去做的資源。爲了讓我開始,你能告訴我,我是否需要在res文件夾或子文件夾中包含任何新文件,或者只是在src內創建這個類? – Kyle 2010-08-21 16:31:18
您可以在單獨的xml佈局文件中爲對話框本身定義佈局。然後使用setContentView將其分配給對話框,請參閱上面添加的代碼示例。 – 2010-08-21 16:38:32
好吧,這是一個很好的開始。在這個自定義佈局文件中包含android:theme =「@ android:style/Theme.Dialog」嗎?還是在main.xml文件中進行(在新的線性佈局中)? – Kyle 2010-08-21 16:44:30