popupwindow

来源:互联网 发布:极乐净土秀太捏脸数据 编辑:程序博客网 时间:2024/06/05 01:12
package com.bawei.wk.lianxi;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.PopupWindow;import android.widget.TextView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private ListView list_main;    private String[] arr = {"热点", "点击", "试试", "问问", "几分", "军师", "明细", "打扰", "三德科技手机打卡机", "生考试考试", "试试", "2222防辐射", "我的文档", "2啥事",};    private List<String> arrlist;    private PopupWindow popupWindow;    private TextView poptextView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        list_main = (ListView) findViewById(R.id.list_main);        arrlist = new ArrayList<>();        for (String s : arr                ) {            arrlist.add(s);        }        list_main.setAdapter(new Mybase());    }    private class Mybase extends BaseAdapter {        //空构造方法调用popupwindow的初始化方法        public Mybase() {            initmpopup();        }        @Override        public int getCount() {            return arrlist.size();        }        @Override        public Object getItem(int position) {            return arrlist.get(position);        }        @Override        public long getItemId(int position) {            return position;        }        @Override        public View getView(int position, View convertView, ViewGroup parent) {            ViewHolder holder;            if (convertView == null) {                convertView = View.inflate(MainActivity.this, R.layout.item_list, null);                holder = new ViewHolder();                holder.t1 = (TextView) convertView.findViewById(R.id.item_text);                holder.img1 = (ImageView) convertView.findViewById(R.id.item_img);                convertView.setTag(holder);            } else {                holder = (ViewHolder) convertView.getTag();            }            holder.t1.setText(arrlist.get(position));            //点击事件把position传进去            holder.img1.setOnClickListener(new POPclic(position));            return convertView;        }        private class ViewHolder {            TextView t1;            ImageView img1;        }        //点击事件 传值把position传进来        private class POPclic implements View.OnClickListener {            private int position;            public POPclic(int position) {                this.position = position;            }            @Override            public void onClick(View v) {                //得到点击的坐标                int[] array = new int[2];                v.getLocationOnScreen(array);                int x = array[0];                int y = array[1];                Showpop(v, position, x, y);            }        }        private void Showpop(View parent, final int position, int x, int y) {            //popupwindow的位置            popupWindow.showAtLocation(parent, 0, x, y);            //获取焦点            popupWindow.setFocusable(true);            popupWindow.setOutsideTouchable(true);            poptextView.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View v) {                    if (popupWindow.isShowing()) {                        popupWindow.dismiss();                    }                }            });        }        public void initmpopup() {            View mpop = View.inflate(MainActivity.this, R.layout.popup, null);            popupWindow = new PopupWindow(mpop, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);            poptextView = (TextView) mpop.findViewById(R.id.poptext);        }    }}
原创粉丝点击