java - 将图标放置在 AlertDialog 构建器中标题的右侧

标签 java android xml android-layout

我在互联网上找到的所有答案和信息似乎都过时且已弃用,我可以在左侧标题栏(用户图像)添加一个简单的图标,但我需要另外 2 个图像、一条消息和一个电话右边,就像一个简单的用户详细信息 View ,问题是我不知道如何设置这些图像的位置,我唯一能做的就是:

AlertDialog.Builder builder = new AlertDialog.Builder(Friends.this);
                final User user = usersList.get(position);
                builder.setTitle(user.getUsername());
                builder.setMessage("You wanna delete friendgroup: " + user.getUsername());
                builder.setIcon(R.drawable.ic_user);
                builder.setCancelable(false);
                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        //myRef.child("Users").child(userId).child("FriendLists").child(friend.getName()).removeValue();
                        //friendList.remove(friend);
                        //mAdapter.notifyDataSetChanged();
                    }
                });
                builder.show();

使用 builder.setIcon 我可以在左侧添加图像,但如何在标题右侧添加更多图标?我真的需要一个自定义构建器来执行此操作吗?

谢谢

最佳答案

您必须创建一个自定义AlertDialog

试试这个:

  1. 设计一个 RelativeLayout,其中包含您的图标、标题和右侧消息以及电话图标和其他内容。
  2. 使用 setView() 方法将此布局设置为您的 AlertDialog

    AlertDialog.Builder builder = new AlertDialog.Builder(Friends.this);
            final User user = usersList.get(position);
    
            LayoutInflater inflater = this.getLayoutInflater();
            View dialogView = inflater.inflate(R.layout.your_dialog_layout, null);
            builder.setView(dialogView);
    
            builder.setCancelable(false);
            builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //myRef.child("Users").child(userId).child("FriendLists").child(friend.getName()).removeValue();
                    //friendList.remove(friend);
                    //mAdapter.notifyDataSetChanged();
                }
            });
            builder.show();
    

这是一个很好的tutorial

希望对你有帮助~

关于java - 将图标放置在 AlertDialog 构建器中标题的右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43619481/

相关文章:

java - 无法对时间的非静态字段进行静态引用

java - 分割paintComponent方法

android - flutter - 如何以编程方式自动滚动到具有动态高度的索引

java - 检查复选框是否被选中返回空指针

java - 如何获取 Java XML org.w3c.dom.Document 的子集?

java - Spring STS不加载环境变量但运行maven可以工作

java - Junit 为整个集成测试(所有测试类)设置一次

java - Facebook 登录无法正常工作(解析)

c# - 反序列化不填充数据 - C#

xml - 如何使用 R 将 data.frame 转换为 xml 文件?