Android UI PopupWindow 简单使用

来源:互联网 发布:github 网络中立 编辑:程序博客网 时间:2024/05/29 18:40

PopupWindow是指在Activity上弹出一个自定义窗口,我们平时账号的下拉选择框,就可以用PopupWindow来实现。
这里写图片描述
这里点击了输入框了,就弹出PopupWindow,里面用的是一个ListView,你不喜欢的这种样式的话就换一个自己喜欢的样式的就可以了。

//设置输入框的点击事件public void onClick(View v) {        showPopupWindow();    }    private void showPopupWindow() {        initListView();//初始化ListView        // 显示下拉选择框,第一个参数PopupWindow要展示的是内容,第二个参数是 //PopupWindow的宽,第三个是PopupWindow的高        popupWindow = new PopupWindow(listView, et_input.getWidth(), 300);        // 设置点击外部区域, 自动隐藏        popupWindow.setOutsideTouchable(true); // 外部可触摸        popupWindow.setBackgroundDrawable(new BitmapDrawable()); // 设置空的背景, 响应点击事件        popupWindow.setFocusable(true); //设置可获取焦点        // 第一个参数 显示在指定控件下,第二个参数是宽的偏移量,第三个参数是高的偏移量        //如果不设置偏移量的话,PopupWindow和输入框之间可能会有一点空白,这个要根据自身     //设置        popupWindow.showAsDropDown(et_input, 0, -5);    }    // 初始化要显示的内容    private void initListView() {        listView = new ListView(this);        //把ListView条目的分割线的高度设置成0,让他不显示分割线        listView.setDividerHeight(0);        listView.setBackgroundResource(R.drawable.listview_background);        listView.setOnItemClickListener(this);        datas = new ArrayList<String>();        // 创建一些数据        for (int i = 0; i < 30; i++) {            datas.add((10000 + i) + "");        }        listView.setAdapter(new MyAdapter());    }    //设置PopupWindow里面的ListView的条目的点击事件    @Override    public void onItemClick(AdapterView<?> parent, View view, int position,            long id) {        System.out.println("onItemClick: " + position);        String string = datas.get(position);        et_input.setText(string); // 设置文本        popupWindow.dismiss(); // 消失了    }
0 0
原创粉丝点击