PopWindow的实现功能

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();
					}
				});
			}
		});
		
	}

    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值