public class MainActivity extends Activity {
private PopupWindow pw;
private ListView listView;
private BaseAdapter adapter;
private List<String> list;
private TextView textView;
private ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
imageView = (ImageView) findViewById(R.id.imageView);
initData();
}
private void initData(){
list = new ArrayList<>();
list.add("1230996781245");
list.add("1230993251245");
list.add("1230996781245");
list.add("1230996245");
list.add("123761245");
}
public void click(View v) {
if(pw==null){
View view = View.inflate(this,R.layout.content_layout,null);
listView = new ListView(this);
adapter = new CommonBaseAdapter<String>(this,list,R.layout.item_layout) {
@Override
public void convert(final ViewHolder holder, final int position) {
holder.setText(R.id.tv_content,list.get(position));
holder.setOnclickListener(R.id.iv_delete, new View.OnClickListener() {
@Override
public void onClick(View v) {
list.remove(position);
adapter.notifyDataSetChanged();
int listViewHeight = holder.getConvertView().getHeight()*list.size();
pw.update(textView.getWidth()+imageView.getWidth(),listViewHeight>pw.getHeight()?pw.getHeight():listViewHeight);
if(list.size()==0){
pw.dismiss();
imageView.setVisibility(View.GONE);
}
}
});
}
};
listView.setAdapter(adapter);
listView.setBackgroundColor(Color.WHITE);
listView.setVerticalScrollBarEnabled(false);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
textView.setText(list.get(position));
pw.dismiss();
}
});
pw = new PopupWindow();
pw.setContentView(listView);
pw.setWidth(textView.getWidth() + imageView.getWidth());
pw.setHeight(DensityUtils.dip2px(this, 200));
pw.setFocusable(true);//可以点击pw中的view
pw.setOutsideTouchable(true);//点击pw的外面可以dismiss pw 需要配合下面的设置背景使用否则无效
pw.setBackgroundDrawable(new ShapeDrawable());
}
pw.showAsDropDown(textView);
}
}
popupWindow和listView那些事之自定义下拉框
最新推荐文章于 2021-03-07 09:24:35 发布