在棒棒糖设备对话之上的白色空间

时间:2017-10-31 11:57:10

标签: java android dialog android-alertdialog

我的应用程序中有一个自定义对话框没有任何问题。它的工作正常,但我的对话就像这张图片一样。 enter image description here

我面临的问题只有具有Lollipop和较低API的设备。我的代码如下所示

 private void showGotoPageDialog() {
        if (getActivity() != null) {
            if (mPageOptions.length == 0)
                return;
            final Dialog mDialog = new Dialog(getActivity());
            mDialog.setContentView(R.layout.grid_dialogue);
            if(mDialog.getWindow()!=null){
            mDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);}
            GridView mGridView = mDialog.findViewById(R.id.grid_dialog);
            ArrayList<String> tmp = new ArrayList<>(mPageOptions.length);
            for (int i = 0; i < mPageOptions.length; i++) {
                tmp.add(mPageOptions[i].split(" ")[1]);
            }
            final CustomAdapter adapter = new CustomAdapter(getActivity(), tmp, mPageIndx);
            mGridView.setAdapter(adapter);
            mGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int item, long l) {
                    adapter.a.cancel();
                    mDialog.dismiss();
                    mPageIndx = item + 1;
                    updateQuotesList();
                    updatePageInfo();
                }
            });
            mDialog.show();
            TextView dismiss =mDialog.findViewById(R.id.dialog_dismiss);
            dismiss.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    adapter.a.cancel();
                    mDialog.dismiss();
                }
            });
        }
    }

如果有人有想法修复它,请告诉我。感谢

1 个答案:

答案 0 :(得分:4)

  

棒棒糖装置对话中的白色空间

  • 它被称为Dialog标题

尝试使用 mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE); ,它会从对话框中删除空白标题空间

示例代码

final Dialog mDialog = new Dialog(getActivity());
mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
mDialog.setContentView(R.layout.grid_dialogue);
mDialog.getWindow().setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);}
GridView mGridView = mDialog.findViewById(R.id.grid_dialog);
// your whole dialog code