簡體   English   中英

如何在Android列表警報對話框中刪除多余的空間

[英]how to remove extra space in android list alert dialog

我試圖顯示帶有單項選擇的示例警報對話框,並且在列表結尾后面臨多余空間的問題。

這是我的代碼

final CharSequence[] items = {"Red", "Green", "Blue"};

        AlertDialog.Builder builder = new AlertDialog.Builder(context);
        builder.setTitle("Pick a color");
        builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int item) {
                Toast.makeText(context, items[item], Toast.LENGTH_SHORT).show();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();

帶有單個選項的示例警報對話框

建議我解決這個問題。

您可以擁有自己的對話框布局(請參閱文檔),但是我建議保持原樣,因為此對話框在HC / ICS / JB上的外觀會有所不同,因此,調整其外觀與在其他版本的android上一樣是個壞主意它可能看起來有所不同。 這只是OS的方式。 離開這是我的建議。

構建自定義警報對話框時,我遇到了類似的問題。 為了解決這個問題,我不得不使用主題來擺脫剩余的空間。 以下是我遵循的代碼:

private Dialog getCustomDialog() {
      AlertDialog.Builder builder = new AlertDialog.Builder(this, android.R.style.Theme_DeviceDefault_Panel);
      AlertDialog dialog = builder.create();
      dialog.setView(dialogView, 0, 0, 0, 0);
      return dialog;
    }

根據此處的文檔,遵循android.R.style.Theme_DeviceDefault_Panel的用法:

這將刪除所有多余的窗口裝飾,因此您基本上有了一個空白矩形,可以在其中放置內容。 它使窗口浮動並具有透明背景,並關閉窗口后面的調光。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM