1

ここに画像の説明を入力

ダイアログ ウィンドウを開くと、5 つのオプションの下にこの空白スペースがあります... Eclipse の DumpView 階層内に、(2) FrameLayout [34,894][686,1022] と表示されます。

私のコードは次のとおりです。

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                    builder.setTitle(R.string.sync_frequency);
                    ListView listView = new ListView(getActivity());
                    String[] syncOptions = mSyncOptions;
                    ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.select_dialog_singlechoice, android.R.id.text1, syncOptions);
                    builder.setSingleChoiceItems(modeAdapter, 0, new DialogInterface.OnClickListener() {

                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                            int selectedPosition = ((AlertDialog)dialog).getListView().getCheckedItemPosition();
                            Log.d(TAG, "Position is " + selectedPosition);

                        }
                    });
                    builder.setView(listView);
                    builder.setNegativeButton(R.string.sync_cancel,null);
                    final Dialog dialog = builder.create();
                    dialog.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
                    dialog.show();

そこの空白を取り除こうとしています...それを取り除く方法がわかりません...私も試しましたdialog.getWindow().setLayout(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

しかし、それはスペースを切り捨てません。空白ではなくフレームレイアウトと見なされるためだと思います。ありがとう!

4

3 に答える 3

0

これは、API レベル 10 以上のデバイスでのみ発生します。

これらのスペースの問題がなかった古いダイアログ テーマを使用するには、次のように AlertDialog.Builder を初期化します。

AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), android.R.style.Theme_Dialog));
于 2013-07-11T17:37:52.450 に答える