我有一定的要求,弹出警告对话框这就好比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