public class Main extends Activity {
PopupWindow popupWindow;
Button showButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
showButton=(Button)findViewById(R.id.button);
showButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
LinearLayout l=new LinearLayout(Main.this);
l.setBackgroundColor(Color.GRAY);
TextView textView=new TextView(Main.this);
textView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
textView.setText("删除");
textView.setGravity(Gravity.CENTER);
textView.setTextColor(Color.WHITE);
l.addView(textView);
popupWindow=new PopupWindow(l, 180, LayoutParams.WRAP_CONTENT);
popupWindow.setFocusable(true); //必须获得焦点
//pop窗口必须设置背景 后触摸pop窗口外部才能让pop窗口消失
popupWindow.setBackgroundDrawable(Main.this.getResources().getDrawable(android.R.color.transparent));
// popupWindow.setOutsideTouchable(true);
int[] location = new int[2];
showButton.getLocationOnScreen(location);//获取控件在整个屏幕中的坐标
//在控件的右边
//popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]+v.getWidth(), location[1]);
//在控件的左边
//popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0]-popupWindow.getWidth(), location[1]);
//在控件的上方
//popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, location[0], location[1]-popupWindow.getHeight());
popupWindow.showAsDropDown(showButton);
textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
popupWindow.dismiss();
}
});
}
});
}
}
PopWindow的实现功能
最新推荐文章于 2019-05-10 22:06:15 发布