进度条、弹窗、对话框、下拉框

​ ProgressBar 进度条

​ PopuoWindow 弹出框

​ Dialog 对话框 (重点)

​ Spinner 下拉框 (重点)

Activity之间的跳转

Intent intent = new Intent(MainActivity.this, MainActivity2.class);
startACtivity(intent);

ProgressBar 进图条

​ 进度条分类?

​ 圆形与水平

圆形:style=“?android:attr/progressBarStyle”

水平:style=“?android:attr/progressBarStyleHorizontal”

PopupWindow 弹出框 (不是通过拖拽的方式生成)

可以加载一个view或者导入自定义的xml布局

​ 加载一个view应该怎么做?

​ 在相应的Java类内创造弹窗

TextView textView=new TextView(MainActivity3.this);相应的可以也可以创建其他view

​ 如何导入自定义布局?

​ 在layout下自定义一个layout.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="1231241245123"
        android:textSize="50dp"/>
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="heixin"
        android:textSize="50dp"/>

</LinearLayout>

​ 在相对应的Java类中加载

View test=getLayoutInflater().inflate(R.layout.test,null);
PopupWindow popupWindow=new PopupWindow(test,400,500);//建立弹窗

Dialog 对话框(不是通过拖拽的方式生成)

Dialog和PopupWindow的区别?

​ 代码区别?

​ 用处区别?

基本的对话框要包含什么内容?

​ 标题

​ 内容

​ 按钮

对话框的种类?

基本对话框

Button btn_dialog_item1;

btn_dialog_item1=findViewById(R.id.btn_dialog_item1);

btn_dialog_item1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //显示对话框
                AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity4.this)
                        .setTitle("警告")
                        .setMessage("确定删除该条数据吗")
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity4.this, "取消", Toast.LENGTH_SHORT).show();
                            }
                        })
                        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity4.this, "确定", Toast.LENGTH_SHORT).show();
                            }
                        });
                dialog.show();
            }
        });

列表对话框 内容:(.setItems(,new DialogInteface.OnClickListener())

btn_dialog_item2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String[] types={"A","B","C","D"};
                AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity4.this)
                        .setTitle("请选择你的驾照类别")
                        //内容
                        .setItems(types, new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                choice=types[i];
                                Toast.makeText(MainActivity4.this, "你的驾照为"+choice+"照", Toast.LENGTH_SHORT).show();
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialogInterface, int i) {
                                Toast.makeText(MainActivity4.this, "取消", Toast.LENGTH_SHORT).show();
                            }
                        });
                dialog.show();
            }
        });

单选列表对话框(RedioButton)内容需要.setSinglechoiceItems(选项,初始选中的按钮(下标从0开始),new DialogInterface.OnClickListener(){}))

btn_dialog_item3.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        String[] types={"A","B","C","D"};
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity4.this)
        		//标题
                .setTitle("你的驾照类别为")
                //内容
                .setSingleChoiceItems(types, 2, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        choice = types[which];
                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(MainActivity4.this, "你的驾照类别为:"+choice, Toast.LENGTH_SHORT).show();
                    }
                });
        builder.show();
    }
});

多选列表对话框(checkbox)(.setMultichoiceItems(对话框中的文字,checkbox的初始选择数组,需要实现的接口(匿名内部类)))

btn_dialog_item4.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        String[] types = {"A照","B照","C照","D照"};
        boolean[] checkItems = {true, false, true, false};

        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity4.this)
                .setTitle("你的驾照类别是")
                .setMultiChoiceItems(types, checkItems, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        checkItems[which] = isChecked;
                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        choice = "";
                        for (int i = 0 ;i < checkItems.length; i++) {
                            if (checkItems[i]) {
                                choice = choice + types[i] + ",";
                            }
                        }

                        Toast.makeText(MainActivity4.this, "你的驾照类别为:"+choice, Toast.LENGTH_SHORT).show();
                    }
                });
        builder.show();
    }
});

半定义对话框

btn_dialog_item5.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        View view=getLayoutInflater().inflate(R.layout.test2,null);
        AlertDialog.Builder dialog =  new AlertDialog.Builder(MainActivity4.this)
                .setTitle("登录")
                //传入view(获取view里面的信息作为内容)
                .setView(view)
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        dialogInterface.dismiss();
                    }
                })
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        EditText user_et=view.findViewById(R.id.editTextTextPersonName);
                        String user=user_et.getText().toString();
                        EditText pwd_et=view.findViewById(R.id.editTextTextPersonName2);
                        String pwd=pwd_et.getText().toString();
                        Toast.makeText(MainActivity4.this, "账号:"+user+"  "+"密码:"+pwd, Toast.LENGTH_SHORT).show();
                    }
                });
        dialog.show();
    }
});

Spinner 下拉框

静态赋值

​ 读取Strings.xml中的数据,将数据加载到spinner

​ 如何操作

		1. 在values/strings.xml 中定义一个 String-array
		1. 只需要在Spinner中添加属性  entries,在该属性中调用string-array
		getSelectedItem().toString:获取下拉框中的属性并转化为字符串形式

动态赋值

​ ArrayAdapter

String[] array={"罗马","埃及","印度","中国"};
ArrayAdapter adapter=new ArrayAdapter(SpinnerActivity.this,android.R.layout.simple_expandable_list_item_1,array);

sp_2.setAdapter(adapter);
btn_sp2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        sp_2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                choice="";
                choice=choice+array[i];
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {

            }
        });
        Toast.makeText(SpinnerActivity.this, "你选择的是:"+choice, Toast.LENGTH_SHORT).show();
    }
});

如何取值?

String str=spinner.getSelectedItem().toString();

​ 跟按钮结合的使用

​ 点击事件是放在button上的

​ 独立使用的

​ 点击事件只能放在Spinner

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值