`
handrenliang
  • 浏览: 33689 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在Android上创建一个PopupWindow

阅读更多
1. 为PopupWindow创建一个Layout---popup_window_layout.xml\
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/LinearLayout_popupwindow" android:layout_width="wrap_content"
	android:layout_height="wrap_content">

	<TextView android:id="@+id/TextView_popupwindow"
		android:layout_width="wrap_content" android:layout_height="wrap_content"
		android:text="I am PopupWindow..." android:drawableTop="@drawable/controlbar_homepage"></TextView>

</LinearLayout>


2. 初始化PopupWindow,并提供两个方法去控制PopupWindow的显示与消失
/**
	 * 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.CENTER_VERTICAL, 20, 20);
		popupWindow.update();
	}

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


3. 创建一个Button控件来控制PopupWindow的显示与消失
// 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;
				}
			}
		});


注意事项:

        PopupWindow必须在click action中显示或者是开启一个线程去显示,不能直在
        oncreate的时候显示一个PopupWindow
1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics