我有一定的要求,彈出警告對話框這就好比EULA屏幕。 這將有文字描述有一個複選框EULA「不要再顯示此」,並在年底確定2個按鈕和取消。警報對話框文本follwed有一個複選框和2個按鈕
任何有關同一幫助表示讚賞。
是否有可能有TextView的和複選框的警告對話框的一部分嗎?如果是的話,該怎麼做? 任何示例代碼表示讚賞。
-Thanks &問候, 饅頭
我有一定的要求,彈出警告對話框這就好比EULA屏幕。 這將有文字描述有一個複選框EULA「不要再顯示此」,並在年底確定2個按鈕和取消。警報對話框文本follwed有一個複選框和2個按鈕
任何有關同一幫助表示讚賞。
是否有可能有TextView的和複選框的警告對話框的一部分嗎?如果是的話,該怎麼做? 任何示例代碼表示讚賞。
-Thanks &問候, 饅頭
我有Mudassir同意,最終用戶許可協議並不想有「不再顯示」複選框,但這裏是你如何能去儘管這樣做類似的東西。
可以使用AlertDialog.Builder構建包含一個視圖(您可以在XML設計)的對話框。下面是一個示例
AlertDialog.Builder eulaBuilder = new AlertDialog.Builder(this);
LayoutInflater eulaInflater = LayoutInflater.from(this);
View eulaLayout = eulaInflater.inflate(R.layout.eula, null);
eulaBuilder.setView(eulaLayout);
Checkbox dontShowAgain = (CheckBox)eulaLayout.findViewById(R.id.dontShowAgain);
eulaBuilder.setPositiveButton("Agree", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface d, int m) {
// Do something
}
});
eulaBuilder.setNegativeButton("Disagree", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface d, int m) {
// Do something
}
});
eulaMsg = eulaBuilder.create();
您可以做的是使用單個對象CheckBox創建XML。然後將該視圖添加到AlertDialog.Builder中。使用AlertDialog.Builder.setMessage(「此處爲EULA消息」)來設置您的EULA消息。
我認爲這個解決方案缺少一行eulaBuilder.setView(eulaLayout); – Juhani 2012-01-02 10:29:16
看這兩種不同的方法:
1)第一方法更簡單和非常快:
CheckBox checkBox = new CheckBox(this);
checkBox.setText("This is your checkbox message");
LinearLayout linearLayout = new LinearLayout(this);
linearLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT));
linearLayout.setOrientation(1);
linearLayout.addView(checkBox);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
alertDialogBuilder.setView(linearLayout);
alertDialogBuilder.setTitle("This is the title of alert dialog");
alertDialogBuilder.setMessage("This is the message of alert dialog");
alertDialogBuilder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
// do something
}
});
alertDialogBuilder.show();
2)第2方法,有更多的定製佈局:
看起來這個page,還有創建複選框的XML代碼。
的EULA永遠不會有「不要再顯示這個」有點事。底部只提供同意和不同意按鈕。並在您的程序的某個菜單中放置一個鏈接到您的EULA,以便用戶隨時查看它。 – Mudassir 2011-02-11 03:25:18
另外,如果這不是EULA的最佳設計解決方案,則可能需要其他可以選擇執行進一步操作的對話框。 – 2011-07-15 17:52:28