popup

public class PopupWindowActivity extends Activity {
	private Button bShow = null; // show popup window button
	private boolean isClick = false; // if the button is clicked

	private PopupWindow popupWindow = null;// popup window

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		// initialize bShow button and set an OnClickListener to it
		bShow = (Button) this.findViewById(R.id.Button_show_popupwindow);
		bShow.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				if (!isClick) {
					showPopupWindow();
					isClick = true;
				} else {
					closePopupWindow();
					isClick = false;
				}
			}
		});
	}

	/**
	 * show popup window
	 */
	private void showPopupWindow() {
		// if popupWindow is null then initialize it
		if (popupWindow == null) {
			// get layout inflater from system service of LAYOUT_INFLATER_SERVICE
			LayoutInflater layoutInflater = (LayoutInflater) this
					.getSystemService(LAYOUT_INFLATER_SERVICE);
			View view = layoutInflater.inflate(R.layout.popup_window_layout,
					null);
			popupWindow = new PopupWindow(view, LayoutParams.FILL_PARENT,
					LayoutParams.WRAP_CONTENT);
		}
		// show popup window on specified location and update it
//		popupWindow.showAtLocation(this.findViewById(R.id.LinearLayout_main),
//				Gravity.TOP|Gravity.RIGHT, 20, 20);
		 popupWindow.showAsDropDown( bShow ,20,0);
		popupWindow.update();
	}

	/**
	 * clos popup window if popup window is not null
	 */
	private void closePopupWindow() {
		if (popupWindow != null) {
			popupWindow.dismiss();
		}
	}
}

 

转载:

 

你可能感兴趣的:(UP)