AlertDialog无法正确显示我想要的对话框

时间:2015-10-13 11:58:24

标签: android android-alertdialog

我试图在我的actvitiy中呈现一个alertdialog,它描述了用户是否在我的数据库中没有存储某些信息,然后使用按钮在用户面前弹出alertdialog。 这是我在活动中对话框的代码

AlertDialog.Builder myAlert= new AlertDialog.Builder(this);
myAlert.setMessage("You are winner!").setPositiveButton("Continue...", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

    }
})
.setTitle("Welcome")
.create();
myAlert.show();

所以基本上我没有得到我想要的所需警报,我得到的是这样的enter image description here

我在标题和消息和按钮之间没有边框,我的按钮没有放在中心默认,我应该怎么做才能修复这些我尝试了很多视频和帖子。

3 个答案:

答案 0 :(得分:2)

  

标题,信息和按钮之间没有边框,我的按钮没有   作为默认设置在中心,我应该怎么做才能解决这些问题   尝试过很多视频和帖子。

如果您不喜欢素材对话框,并且想要平台的特定对话框,则应使用 android.app.AlertDialog 代替 android.support.v7.app.AlertDialog

将导入声明从 android.support.v7.app.AlertDialog 更改为 android.app.AlertDialog

但我建议你选择材料对话框。

答案 1 :(得分:1)

您应该为此目的使用自定义对话框。创建自定义布局。并将setlayoutview添加到对话框中。

示例代码

button = (Button) findViewById(R.id.buttonShowCustomDialog);

    // add button listener
    button.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View arg0) {

        // custom dialog
        final Dialog dialog = new Dialog(context);
        dialog.setContentView(R.layout.custom);
        dialog.setTitle("Title...");

        // set the custom dialog components - text, image and button
        TextView text = (TextView) dialog.findViewById(R.id.text);
        text.setText("Android custom dialog example!");
        ImageView image = (ImageView) dialog.findViewById(R.id.image);
        image.setImageResource(R.drawable.ic_launcher);

        Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
        // if button is clicked, close the custom dialog
        dialogButton.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        dialog.show();
      }
    });

详见以下链接

http://www.mkyong.com/android/android-custom-dialog-example/

答案 2 :(得分:0)

试试这个:

 AlertDialog.Builder myAlert= new AlertDialog.Builder(this, android.R.style.Theme_Holo_Light_Dialog);

    myAlert.setTitle("Welcome")
.setMessage("You are winner!")
           .setCancelable(false)
           .setPositiveButton("Continue...", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface dialog, int id) {
                    //do things
               }
           });
    AlertDialog alert = myAlert.create();
    alert.show();