Android开发----UI控件的使用(AlertDialog、PopUpWindow)

1.概述

    这篇文章中主要包括AlertDialog、popUpWindow的使用。

2.AlertDialog的使用

(1)首先来看一下基本的API使用:

效果图:

主要是先声明、再可以设置title、message、点击事件

AlertDialog.Builder builder= new AlertDialog.Builder(DialogActivity.this);//声明一个builder
builder.setIcon(R.mipmap.ic_launcher)   //设置图像
        .setTitle("我是对话框")            //设置title
        .setMessage("今天天气怎么样")
        .setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Log.d("tag1","点击了确定");
            }
        })                                  //点击事件
        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Log.d("tag2","点击了取消");
            } 
        })                            //点击事件
        .setNeutralButton("中间", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                Log.d("tag3","点击了中间");
            }
        })
        .create()       //生成builder
        .show();          //显示对话框

(2)如果alertDialog里面需要有输入,可以利用editText和alertdialog中的setView进行实现

可以进行输入并且获取到输入的内容

效果图:

 代码:

建立alertDialog代码:

 View dialogview=getLayoutInflater().inflate(R.layout.dialog_resource_info,null);
 final EditText et_newName=dialogview.findViewById(R.id.etNewResourceName);
 final EditText et_desc=dialogview.findViewById(R.id.etNewResourceDesc);
 new AlertDialog.Builder(MyResourceActivity.this)
                .setTitle("资源详情")
                .setView(dialogview)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        String newName=et_newName.getText().toString();
                        String desc=et_desc.getText().toString();
                        
      
                    }
                })
                .setNegativeButton("取消",null)
                .show();

菜单:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/resource_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="请输入更改的资源名:"
        android:layout_marginLeft="10dp"
        android:textSize="15dp"
      />
    <EditText
        android:id="@+id/etNewResourceName"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="40dp"/>
    <TextView
        android:id="@+id/resource_desc"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="备注"
        android:textSize="15dp"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="100dp"/>
    <EditText
        android:id="@+id/etNewResourceDesc"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="140dp"/>

</RelativeLayout>

3.popUpWindow的使用

    popUpWindow主要是可以实现弹出式菜单,比如点击就弹出菜单就可以用popUpWindow来实现

实现效果图:点击“+”就弹出菜单

 实现流程:

Step1:先新建一个菜单:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/toolbar_camera"
        android:icon="@mipmap/ic_launcher"
        android:orderInCategory="1"
        android:title="拍照上传"
        app:showAsAction="never" />
    <item
        android:id="@+id/toolbar_copy"
        android:orderInCategory="2"
        android:title="图片上传"
        app:showAsAction="never" />
    <item
        android:id="@+id/toolbar_move"
        android:orderInCategory="3"
        android:title="文件上传"
        app:showAsAction="never" />
    <item
        android:id="@+id/toolbar_delete"
        android:orderInCategory="4"
        android:title="新建文件夹" />
</menu>

Step2:在activity中新建popUpWindow:

 PopupMenu popupMenu=new PopupMenu(MyResourceActivity.this,view);
 popupMenu.getMenuInflater().inflate(R.menu.menu_resource,popupMenu.getMenu());
 popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch(item.getItemId()){
                    case R.id.toolbar_camera:
                        Toast.makeText(MyResourceActivity.this,"拍照上传",Toast.LENGTH_SHORT).show();
                      
                        break;
                    case R.id.toolbar_copy:
                        Toast.makeText(MyResourceActivity.this,"图片上传",Toast.LENGTH_SHORT).show();
                       
                        break;
                    case R.id.toolbar_move:
                        Toast.makeText(MyResourceActivity.this,"文件上传",Toast.LENGTH_SHORT).show();
                        
                        break;
                    case R.id.toolbar_delete:
                        Toast.makeText(MyResourceActivity.this,"新建文件夹",Toast.LENGTH_SHORT).show();
                     
                        break;

                }
                return false;
            }
        });
        popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
            @Override
            public void onDismiss(PopupMenu menu) {
            }
        });
        popupMenu.show();

 Step3:在“+”控件的点击时间中调用该方法就可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值