Im在全屏中顯示DialogFragment中存在一些問題。在我的應用程序中,我有一個片段,當你點擊某個按鈕時,它會調用一個DialogFragment。但DialogFragment只是填充片段的區域(在操作欄下方)。我想它填寫所有這樣的屏幕:http://img845.imageshack.us/img845/8682/myimage2.pngAndroid中的全屏DialogFragment(通過ActionBar)
任何幫助嗎?
public class ItensActivity extends Fragment {
...
public void openDialogItens()
{
dialog = new ItemDialog();
dialog.show(getFragmentManager(), "");
getFragmentManager().executePendingTransactions();
}
public static class ItemDialog extends DialogFragment
{
@SuppressWarnings("deprecation")
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(getContentView());
Dialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(true);
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
lp.height = WindowManager.LayoutParams.FILL_PARENT;
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setAttributes(lp);
return dialog;
}
private View getContentView() {
LayoutInflater inflater = getActivity().getLayoutInflater();
View view = inflater.inflate(R.layout.popup_item, null);
return view;
}
}
我不確定我是否理解你想要的,但是如果你想要一個「全屏」片段,爲什麼要使用DialogFragment?改用普通的碎片。 – TomTasche 2013-04-27 16:24:31
這是因爲我想顯示它像一個彈出/對話框,顯示它的背後是什麼,類似的:http://i.stack.imgur.com/uV5Jd.png。但DialogFragment沒有覆蓋操作欄 – 2013-04-27 16:34:42
所以...你不想要一個* fullscreen *對話框,而是一個部分覆蓋你的ActionBar的對話框,對吧? – TomTasche 2013-04-27 16:35:59