我想用的按鈕,看起來像這樣創建一個AlertDialog:https://developer.android.com/images/ui/dialogs_regions.pngAndroid - 如何更改AlertDialog中按鈕的外觀?
但是,每當我創建了一個AlertDialog.Builder AlertDialog,我最終得到的按鈕,看起來像這樣:https://developer.android.com/images/ui/dialog_buttons.png
哪有我改變AlertDialog,使按鈕看起來像第一個例子(即佔用整個對話框的底部,每個按鈕之間有灰色的分隔線)?請注意,我並不試圖改變對話框窗口的顏色,只是按鈕出現在窗口上。理想情況下,我希望只使用默認的Android樣式並且不定義自定義樣式,這是可能的嗎?
下面是我用它來創建和顯示AlertDialog代碼:
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setTitle("Include answers in summary?");
alertDialogBuilder.setMessage("You have completed " + String.valueOf(questionsCompleted) + " out of 18 questions. Would you like the summary to include these answers along with the questions?");
alertDialogBuilder.setCancelable(false);
alertDialogBuilder.setPositiveButton("Include", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(getApplicationContext(), SummaryActivity.class);
intent.putExtra("componentNumber", 0);
intent.putExtra("includeAnswers", true);
startActivity(intent);
}
});
alertDialogBuilder.setNegativeButton("Omit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent intent = new Intent(getApplicationContext(), SummaryActivity.class);
intent.putExtra("componentNumber", 0);
intent.putExtra("includeAnswers", false);
startActivity(intent);
}
});
alertDialogBuilder.setNeutralButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
有這AlertDialog三個動作。在不太瞭解細節的情況下,其中兩個按鈕可讓用戶參與統計問卷的相同活動,但無論是否包含答案,其他按鈕都會取消對話。我知道我應該使用NegativeButton來取消對話框,但即使Android開發人員指南顯示對話框中的正面和負面按鈕之間會出現一箇中性按鈕,但我已經獲得了Neutral-> Negative- >正。因此,我一直在使用左側的省略選項和右側的取消和包含選項進行對話,這對我來說是非常不直觀的。
我想將按鈕的順序改爲Negative-> Neutral-> Positive,並將負面按鈕定義爲取消對話框,以便將導致摘要活動的兩個按鈕組合在一起 - 這是在所有可能的?
爲什麼不更換代碼正確的順序?首先將您想要的方法放入先出現的按鈕並設置相關的按鈕文本。用戶不知道它是否爲中性,正面或負面的按鈕。 – Opiatefuchs
,如果您想要一個符合您需要的對話框,只需創建一個自定義對話框。你可以像做活動一樣進行佈局... https://www.mkyong.com/android/android-custom-dialog-example/ – Opiatefuchs
我試着重新排列代碼中的按鈕分配,但它沒有效果。我擔心使用中性按鈕進行取消操作的原因是,我擔心不同的手機可能會顯示不同的按鈕,因此用戶在實際嘗試取消對話時可能會輸入一個活動。不過,我想用一個自定義對話框可以解決這個問題,所以我會給它一個鏡頭 - 感謝教程鏈接。 –