Android开发入门组件(十二)——AlertDialog

当操作某个事件的时候,可能会进行弹出框操作进行选择,今天讲一下弹出框的使用,主要分以下几个方面:

1.默认样式

一般默认的样式直接是下面横排的几个点击的文字,最多是三个

(1)setNegativeButton(2)setNeutralButton(3)setPositiveButton

可以选其中一个,也可以选其中两个或者都选。

上代码咯

AlertDialog.Builder builder=new AlertDialog.Builder(AlertDialogActivity.this);
//builder.setTitle("请回答");
//builder.setMessage("你的性别是?");
builder.setIcon(R.drawable.hao).setTitle("请回答").setMessage("你的性别是?").setPositiveButton("男", new DialogInterface.OnClickListener() {
                        @Override//设置积极选择以及选择之后的响应事件
             public void onClick(DialogInterface dialogInterface, int i) {
                  ToastUtil.showMessage(AlertDialogActivity.this,"你就是个男的");}
  }).setNegativeButton("女", new DialogInterface.OnClickListener() {
                        @Override//设置消极选择以及选择之后的响应事件
             public void onClick(DialogInterface dialogInterface, int i) {
                  ToastUtil.showMessage(AlertDialogActivity.this,"你就是个女的");}
  }).setNeutralButton("不男不女", new DialogInterface.OnClickListener() {
                        @Override //设置中性选择以及选择之后的响应事件
             public void onClick(DialogInterface dialogInterface, int i) {
                  ToastUtil.showMessage(AlertDialogActivity.this,"东方不败");}
  }).show();
//最不能忘记的是最后要加show()函数,否则不会出现弹出组件

//因为builder类的操作函数完了之后还是builder对象,所以可以直接在后面加继续要操作的函数,也可以重新换一行再继续写其他的函数,如下:
写法一: builder.setTitle("请回答");
        builder.setMessage("你的性别是?");
写法二:builder.setTitle("请回答").setMessage("你的性别是?");

因为builder类的操作函数完了之后还是builder对象,所以可以直接在后面加继续要操作的函数,也可以重新换一行再继续写其他的函数,如下:
写法一: builder.setTitle("请回答");
        builder.setMessage("你的性别是?");
写法二:builder.setTitle("请回答").setMessage("你的性别是?");

2.单选样式

对于单选样式有原生组件有自己的函数

final String[] array=new String[]{"男","女"};
AlertDialog.Builder builder1=new AlertDialog.Builder(AlertDialogActivity.this);
builder1.setTitle("请选择性别:");
builder1.setItems(array, new DialogInterface.OnClickListener() {
                        @Override
      public void onClick(DialogInterface dialogInterface, int i) {
          ToastUtil.showMessage(AlertDialogActivity.this,array[i]);}
                    });
      builder1.show();

效果如图:

final String[] array1=new String[]{"男","女"};
AlertDialog.Builder builder2=new AlertDialog.Builder(AlertDialogActivity.this);
builder2.setTitle("请选择性别:");
builder2.setSingleChoiceItems(array1, 0, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
         ToastUtil.showMessage(AlertDialogActivity.this,array1[i]);
         dialogInterface.dismiss(); }
     }).setCancelable(false).show();

效果如图所示:

3.多选样式

final String[] array2=new String[]{"篮球","足球","羽毛球","乒乓球","游泳"};
boolean[] isselected=new boolean[]{false,true,false,false,false};
AlertDialog.Builder builder3=new AlertDialog.Builder(AlertDialogActivity.this);
builder3.setTitle("请选择喜欢的运动").setMultiChoiceItems(array2, isselected, new DialogInterface.OnMultiChoiceClickListener() {
                        @Override
        public void onClick(DialogInterface dialogInterface, int i, boolean b) {
ToastUtil.showMessage(AlertDialogActivity.this,array2[i]+":ischecked");
                        }
        }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
         public void onClick(DialogInterface dialogInterface, int i) {
}
        }).setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
         public void onClick(DialogInterface dialogInterface, int i) {
}
        }).show();

4.自定义

对于自定义写一个弹出框输入自己的账户与密码,进行说明

先定义一个layout代码定义组件样式

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="20dp">

    <EditText
        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="用户名"
        android:layout_marginTop="20dp"
        android:textSize="20sp"/>
    <EditText
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="密码"
        android:layout_marginTop="20dp"
        android:inputType="textPassword"
        android:textSize="20sp"/>
    <Button
        android:id="@+id/ensurebtn"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="登录"
        android:textSize="15sp"
        android:layout_marginTop="15dp"
        android:textAllCaps="false"/>

</LinearLayout>

在activity文件中引用自定义的样式即可

AlertDialog.Builder builder4=new AlertDialog.Builder(AlertDialogActivity.this);
View view1=LayoutInflater.from(AlertDialogActivity.this).inflate(R.layout.layout_dialog,null);
EditText editText=view1.findViewById(R.id.username);
EditText editText1=view1.findViewById(R.id.password);
Button button=view.findViewById(R.id.ensurebtn);
button.setOnClickListener(new View.OnClickListener() {
                        @Override
     public void onClick(View view) {
                            
         }});
builder4.setTitle("请登录您的用户").setView(view1);
builder4.show();

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 Android 开发中实现点击按钮弹出对话框,你可以按照以下步骤进行操作: 1. 首先,在你的布局文件(例如 activity_main.xml)中添加一个按钮组件。例如,你可以使用 Button 组件并设置一个唯一的 ID: ```xml <Button android:id="@+id/myButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击我弹出对话框" /> ``` 2. 接下来,在你的 Java 代码中找到该按钮,并为其设置点击事件监听器。例如,在你的 Activity 类中,可以在 onCreate 方法中添加以下代码: ```java Button myButton = findViewById(R.id.myButton); myButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // 在这里处理按钮点击事件 showDialog(); } }); ``` 3. 最后,在同一个 Java 类中,实现 showDialog 方法来创建并显示对话框。以下是一个简单的示例: ```java public void showDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("对话框标题") .setMessage("这是对话框的内容") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 在这里处理确定按钮点击事件 } }) .setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // 在这里处理取消按钮点击事件 } }); AlertDialog dialog = builder.create(); dialog.show(); } ``` 这个方法使用 AlertDialog.Builder 类来创建一个对话框,并设置标题、内容以及确定和取消按钮的点击事件监听器。最后,调用 create 方法创建对话框并调用 show 方法显示它。 这样,当用户点击按钮时,就会弹出一个对话框。你可以根据自己的需求自定义对话框的样式和功能。希望以上内容对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Demo.demo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值