DialogFragment上的正面和负面按钮位置

时间:2016-02-05 11:29:07

标签: java android android-dialogfragment

有没有办法改变DialogFragment中正面,负面和中性按钮的显示顺序,以便我可以先放置负面按钮?

我不想改变按钮的“性质”,但要保持“正面”,“消极”和“中性”。

4 个答案:

答案 0 :(得分:3)

试试这样:

builder.setMessage(R.string.dialog_fire_missiles)
           .setPositiveButton()
           .setNeutralButton()
           .setNegativeButton()

答案 1 :(得分:2)

按照您想要的顺序声明按钮:

  • 在Honeycomb之前的设备上,按钮顺序(从左到右)为POSITIVE - NEUTRAL - NEGATIVE。

  • 在使用Holo主题的较新设备上,按钮顺序(从左到右)现在为负 - 中性 - 正面。

答案 2 :(得分:1)

这不是最优雅的方式,但它会做你想做的事情

AlertDialog.Builder builder = new AlertDialog.Builder(SUtils.getContext());
        builder.setMessage("Confirmation?")
            .setCancelable(false)
            .setNegativeButton("OK", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    //TOdo
                    dialog.cancel();
                }
            })
            .setPositiveButton("Cancel", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    //TOdo
                }
            })


        diaglog = builder.create();

只需将取消按钮设为正,将确定按钮设为否定。

答案 3 :(得分:0)

由于您通常为 DialogFragment 创建自定义 XML 布局,因此您可以在那里创建所需的按钮并将它们放置在布局中的任何位置。

然后,而不是使用肯定的、中性的或否定的按钮,您可以直接获取您的按钮(通过它们的 Id-s),为它们提供 onClick 侦听器以执行您想要的任何操作。