Android——AlertDialog对话框之单选对话框

AlertDialog对话框包含普通、单选、多选和自定义对话框,本文介绍其中的单选对话框。

一、实现效果

 Android——AlertDialog对话框之单选对话框_第1张图片Android——AlertDialog对话框之单选对话框_第2张图片Android——AlertDialog对话框之单选对话框_第3张图片

二、单选对话框简介

 单选对话框的内容区域显示为单选列表。
单选列表是通过AlertDialog.Builder对象 调用setSingleChoiceItems()方法设置的。

setSingleChoiceItems()方法语句格式:
setSingleChoiceItems(CharSequence[] items,int checkedItem,OnClickListener)。
items:表示单选列表中的所有选项数据。
checkedItem:默认选项角标。
Listener:监听接口。

三、activity_main.xml文件



    
    

 四、MainActivity.java文件

1.步骤

定义数组变量textSizeArr,用于存储字体。定义单选列表中默认选择的位置为1。

通过AlertDialog.Builder创建一个普通对话框。

setSingleChoiceItems()方法设置对话框的单选列表,并设置为监听事件,在onclick()方法中得到被点击的序号which,根据序号获取textSizeArr数组中的数据。

setPositiveButton()方法setNegativeButton()方法中分别设置“确定”与“取消”按钮。

 2.代码

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import org.w3c.dom.Text;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private TextView textView;
    int textSize=1;//表示单选列表中默认选择的位置为1
    private int[] textSizeArr={10,20,25,30,40};//定义数组变量,用于存储字体大小

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.bt).setOnClickListener(this);
        textView=(TextView) findViewById(R.id.tv);
    }

    @Override
    public void onClick(View v) {
        AlertDialog dialog;
        AlertDialog.Builder builder =new AlertDialog.Builder(this)
                .setTitle("设置字体大小")
                .setIcon(R.mipmap.ic_launcher)
                .setSingleChoiceItems(new String[]{"小号", "默认", "中号", "大号", "超大"}, textSize, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        textSize=which;//得到被点击的序号which
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {//添加“确定”按钮
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        textView.setTextSize(textSizeArr[textSize]);//设置字体大小的语句
                        dialog.dismiss();
                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                });
        dialog=builder.create();
        dialog.show();
    }
}

你可能感兴趣的:(AndroidStudio,android,android,studio,java)