对话框/selectXML图片

AlterDialog:警示框,功能最丰富,应用最广的对话框,该对话框可以包含0-3个按钮,或者包含复选框或者单选按钮的列表

ProgressDialog:进度对话框

DatePickerDialog:日期选择对话框

TimePickerDialog:时间选择对话框

自定义xml图片

要用shape标签去定义一些背景,shape的用法和图片一样,可以给View设置,

Android:background="@drawable/shape",定义的文件可以在res\shape,通常可以用shape作buttton的背景选择器,编辑框背景

solid设置形状填充的颜色,只有android:color一个属性

android-shape rectangle oval line ring

gradient:设置形状的渐变颜色

corners设置圆角,只适用于rectangle类型

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid
        android:color="#6673CA"/>
        <stroke android:color="#6673CA"></stroke>
<corners android:radius="10dp"/>
    </shape>

普通对话框


使用AlertDialog创建对话框大致步骤如下。    

(1)创建 AlertDialog.Builder对象,该对象是AlertDialog的创建器。    
(2)调用AlertDialog,Builder的方法,为对话框设置图标、标题、内容等。

(3)调用AlertDialog.Builder 的create()方法,创建AlertDialog对话框。(4)调用AlertDialog.Builder 的 showO)方法,显示对话框。
Builder类中主要的方法及其作用
方法名    作用    
public BuildersetTitle
设置对话框标题
public Builder setMessage    设置对话框内容    
public BuildersetIcon    设置对话框图标    
public BuildersetPositiveButton    添加肯定按钮(Yes)    
public BuildersetNegativeButton    添加否定按钮(No)    
public BuildersetNeutralButton    添加普通按钮    
public BuildersetOnCancelListener    添加取消监听器    
public BuildersetCancelable    设置对话框是否可取消    
public BuildersetItems    添加列表    
public BuildersetMultiChoiceItems    添加多选列表    
public Builder setSingleChoiceItems    添加单选列表    
publicAlertDialog create()    创建对话框    
publicAlertDialog show()    显示对话框


 案例实现     activity-main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical"

    >
<!--    android:gravity="center_horizontal"-->
<!--    android:padding="30dp"-->


<!--    显示对话框-->
<!--    <Button-->
<!--        android:id="@+id/btn_dialog"-->
<!--        android:layout_width="wrap_content"-->
<!--        android:layout_height="wrap_content"-->
<!--        android:text="显示对话框"-->
<!--        android:textSize="20dp"-->
<!--        android:textColor="@android:color/black"-->
<!--        />-->

    <Button
        android:id="@+id/btn_dialog"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="普通对话框"
        android:layout_marginBottom="10dp"
        android:textSize="25sp"
        android:background="@color/colorPrimaryDark"/>
    <Button
        android:id="@+id/btn_dialog2"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="单选对话框"
        android:layout_marginBottom="10dp"
        android:textSize="25sp"
        android:background="@color/colorPrimaryDark"/>
    <Button
        android:id="@+id/btn_dialog1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:text="多选对话框"
        android:textSize="25sp"
        android:background="@color/colorPrimaryDark"/>
package com.example.dialog;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button btn_dialog;

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn_dialog = findViewById(R.id.btn_dialog);


            btn_dialog.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                创建了Bulider对象
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
//                设置标题
                builder.setTitle("确定要删除吗");
//                设置Button按钮
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,"您点击了确定按钮!",Toast.LENGTH_SHORT).show();
                    }
                });
//                设置负面按钮
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity.this,"您点击了取消按钮",Toast.LENGTH_SHORT).show();
                    }
                });
//                显示对话框
                builder.show();
            }
        });



    }
}

列表对话框

创建普通对话框:setItem(int itemId,DialogInterfce.OnClickListener listener)

创建多选列表对话框 setMultiChoiceItems(CharSeqence[]items,boolean[]checkedItems,DialogInterface.OnMultiChoiceClickListener listener)

创建单选列表对话框

setSingleChoiceItems(ChaSeqence [] items,int checkedItem,DialogInterface.OnClickListener listener

代码实现

package com.example.dialog;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button btn_dialog;
//private Button btn_dialog1;
    private Button btn_dialog2;
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        btn_dialog = findViewById(R.id.btn_dialog);
//        btn_dialog1=findViewById(R.id.btn_dialog1);
        btn_dialog2=findViewById(R.id.btn_dialog2);



 btn_dialog2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("您的性别是");
                final String[] items={"男","女"};
                final boolean[] checkItems ={true,false};
                builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
//                        复写onclickListerner事件
                        for (int i =0 ;i<checkItems.length;i++){
                            checkItems[i]=false;
                        }
                        checkItems[which]=true;
                    }
                });
//                设置正面按钮和负面按钮
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String string ="";
                        for(int i=0;i<checkItems.length;i++){
                            if (checkItems[i]==true) {
                                string =items[i];
                            }
                            }
                        Toast.makeText(MainActivity.this,"您的性别为"+string,Toast.LENGTH_SHORT).show();
                    }
                });
                builder.show();
            }
        });
    }
}
//    }
//}









多选对话框

package com.example.dialog;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

//    private Button btn_dialog;
private Button btn_dialog1;
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       // btn_dialog = findViewById(R.id.btn_dialog);
        btn_dialog1=findViewById(R.id.btn_dialog1);



        btn_dialog1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("多选对话框");
                final String[] items = {"数学", "语文", "英语", "政治"};
                final boolean[] checkItems = {false, true, false, false};
                //第一个参数选项,第二个参数选项状态,第三个点击事件
                builder.setMultiChoiceItems(items, checkItems, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        if (isChecked) {
                            checkItems[which] = true;
                        } else {
                            checkItems[which] = false;
                            Toast.makeText(MainActivity.this, "您取消了" + items[which], Toast.LENGTH_LONG).show();
                        }
                    }
                });
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();//取消对话框
                    }
                });
                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String str = "";
                        for (int i = 0; i < checkItems.length; i++) {
                            if (checkItems[i]) {
                                str = str + items[i];
                            }
                        }
                        Toast.makeText(MainActivity.this, "您选择了" + str, Toast.LENGTH_LONG).show();
                    }
                });
                builder.create().show();
            }
        });
    }
}

支付对话框

layoutdialog.xml

<?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"
    >
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginVertical="15dp"
        android:layout_marginBottom="8dp"
        android:gravity="center"
        android:text="付款详情"
        android:textSize="30dp"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="#A8A8A8"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:orientation="horizontal"
        android:paddingLeft="10dp">
        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:src="@drawable/p4"
            />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:paddingLeft="20dp"
            android:text="钱包"
            android:textColor="#A6A6A6"
            android:textSize="25sp"
            />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal"
            android:paddingLeft="10dp" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="#A8A8A8" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:orientation="horizontal"
        android:paddingLeft="10dp">
        <ImageView
            android:layout_width="61dp"
            android:layout_height="60dp"
            android:src="@drawable/p2" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:paddingLeft="20dp"
            android:text="支付宝"
            android:textColor="#A6A6A6"
            android:textSize="25sp" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="#A8A8A8"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:orientation="horizontal"
        android:paddingLeft="10dp">
        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:src="@drawable/p3"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:gravity="center_vertical"
            android:paddingLeft="20dp"
            android:text="微信"
            android:textColor="#A6A6A6"
            android:textSize="25sp"
            />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="#A8A8A8"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        android:orientation="horizontal"
        android:paddingLeft="10dp">
        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:src="@drawable/p1"/>

        <Button
            android:layout_width="143dp"
            android:layout_height="60dp"
            android:gravity="center_vertical"
            android:paddingLeft="20dp"
            android:text="银行卡"
            android:textColor="#A6A6A6"
            android:textSize="25sp" />
    </LinearLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="#A8A8A8"/>
    <TextView
        android:id="@+id/sum"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center_vertical|right"
        android:text="需付款?50元"
        android:textColor="#A8A8A8"
        android:paddingRight="10dp"
        android:textSize="20dp"/>
    <View
        android:layout_width="match_parent"
        android:layout_height="0.5dp"
        android:background="#A8A8A8"/>
</LinearLayout>
import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    private Button btn_dialog;
//private Button btn_dialog1;
    private Button btn_dialog2;
    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        btn_dialog = findViewById(R.id.btn_dialog);
//        btn_dialog1=findViewById(R.id.btn_dialog1);
        btn_dialog2=findViewById(R.id.btn_dialog2);

//            btn_dialog.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
                创建了Bulider对象
//                AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
                设置标题
//                builder.setTitle("确定要删除吗");
                设置Button按钮
//                builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//                        Toast.makeText(MainActivity.this,"您点击了确定按钮!",Toast.LENGTH_SHORT).show();
//                    }
//                });
                设置负面按钮
//                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//                        Toast.makeText(MainActivity.this,"您点击了取消按钮",Toast.LENGTH_SHORT).show();
//                    }
//                });
                显示对话框
//                builder.show();
//            }
//        });

//        btn_dialog.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View v) {
//                final AlertDialog.Builder paybuilder =new AlertDialog.Builder(MainActivity.this);
//                View view =getLayoutInflater().inflate(R.layout.dialoglayout,null);
//                TextView text=view.findViewById(R.id.sum);
//                text.setText("需付款$50元");
//                paybuilder.setView(view);
//                paybuilder.setPositiveButton("确认支付", new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//                        final AlertDialog.Builder sucbuilder =new AlertDialog.Builder(MainActivity.this);
//                        sucbuilder.setTitle("恭喜您支付成功!");
//                        sucbuilder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
//                            @Override
//                            public void onClick(DialogInterface dialog, int which) {
//                            }
//                        });
//                        sucbuilder.create().show();
//                    }
//                });
//                paybuilder.create().show();
//            }
//        });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值