【问题标题】:How to create the above custom dialog in android?如何在android中创建上述自定义对话框?
【发布时间】:2011-05-09 05:48:22
【问题描述】:

有人可以告诉我如何创建与链接 [此处][1] 类似/完全相同的上述对话框视图,问题的重点是在图片中心创建视图吗?

我做了一些研究,这让我想知道我应该使用自定义 xml 来创建自定义对话框视图,还是应该使用 alertdialog 来创建上面显示的确切视图可编程性?即使alertdialog 是可能的,我将如何适应对话框图片中间显示的这么多textview 消息给定alertdialog 限制?例如:“builder.setMessage("这是警报正文");"如果你知道我的意思!!

有人能告诉我获得完全相同视图的最简单方法吗,因为我正在做同样的应用程序并且是 android 的新手。谢谢 :)

【问题讨论】:

    标签: java android xml dialog


    【解决方案1】:

    最好的方法是自定义对话框。因为这将有助于创建所有这些背景颜色和效果。我确定您发布的链接也使用了自定义对话框,

    干杯

    可能有帮助的链接:

    [1]http://developer.android.com/guide/topics/ui/dialogs.html#CustomDialog

    [2]http://androidideasblog.blogspot.com/2010/02/creating-custom-dialog-in-android.html

    /// 在您的代码实现中,只需在创建对话框时添加此代码....之后只需将所有 TextView 安排在您的布局中,并将该布局 id 添加到下面的代码中,祝您好运

    //Dialog box creator
    private Dialog constructYourDialog()
    {
        //Preparing views
      LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
      View layout = inflater.inflate(R.layout.***your_xml_name***, (ViewGroup) findViewById(R.id.***Yout view id***));
        //Building dialog
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setView(layout);
    
        builder.setPositiveButton("Show Videos", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                    Log.i("","Show Video Click");
                    dialog.dismiss();
        });
        builder.setNegativeButton("E-Mail", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
               Log.i("","E-mail Click");
               dialog.dismiss();
            }
        });
         builder.setNeutralButton("Show Map", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Log.i("","Show Map Click");
                dialog.dismiss();
            }
        });
              AlertDialog alert = builder.create();
        return alert;
    
    }
    

    【讨论】:

    • 我更新了一个 xml 文件,我在上面尝试过,但它没有显示我想要的对话框视图!你能告诉我我应该在我当前的 xml 中编写什么代码才能在链接中看到适当的视图吗?我已经尝试阅读 android developer 但仍然无法获得我想要获得的 xml 布局视图,我对 android/xml 很陌生,你能帮我解决这个问题吗?
    • 但是我应该如何修改/编码我的 xml 以使其看起来与上面的链接完全相同。就像三个按钮的位置、大小以及如何控制相对布局的正确大小等等??跨度>
    • 我的代码正在生成三个按钮和侦听器...您只需要添加关于您希望按钮在这些侦听器中调用什么的代码。关于 xml,我更喜欢使用 eclipse,它有图形界面来拖放布局和对齐视图。
    • 我已经编辑了一些我的 xml,但我的按钮的位置仍然与图片中应有的方式不一致?为什么会这样?而标题“信息”是应该由xml通过textview来完成,还是应该通过可编程来创建标题那种图像感觉?
    • java中为你添加的三个按钮不是xml按钮吧?
    【解决方案2】:

    试试下面的代码

    Builder builder = new AlertDialog.Builder(this);
    builder.setTitle("Alert !");
    builder.setMessage("your text here");
    builder.setPositiveButton("Show Video", new DialogInterface.OnClickListener()
    {
        @Override
        public void onClick(DialogInterface dialog, int which)
        {
            connect = false;
        }
    });
    builder.setNegativeButton("Show Map", new DialogInterface.OnClickListener()
    {
    
    @Override
    public void onClick(DialogInterface arg0, int arg1)
    {
        // TODO Auto-generated method stub                      
    }
    });
    builder.setNeutralButton("Show Both", new DialogInterface.OnClickListener()
    {
    
    @Override
    public void onClick(DialogInterface arg0, int arg1)
    {
        // TODO Auto-generated method stub                      
    }
    });
    builder.show();
    

    更新:要显示自定义标题,请创建一个布局并使用以下代码对其进行膨胀

    LayoutInflater mInflater = LayoutInflater.from(mContext);
    View layout = mInflater.inflate(R.layout.popup_example, null);
    

    从上面的代码中删除以下行

    builder.setTitle("Alert !");
    

    然后设置使用

    builder.setCustomTitle(layout)
    

    【讨论】:

    • @T0X1C 嗨,我现在面临的是获取链接中自定义对话框的整个视图,而不是图片中按钮的实际实现...
    • 你的意思是自定义标题栏?
    • @T0X1C 所以我在该链接中看到的整个视图是自定义标题栏?如果是这样我应该如何创建视图??
    • @T0X1C 好的,在我继续做这个问题之前你能回答这个链接中的问题吗--> stackoverflow.com/questions/5931483/… 谢谢
    • 检查该问题的答案
    猜你喜欢
    • 2011-03-24
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    • 2017-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多