有没有一个使用Android v2.0的PopupWindow类的简单例子?

我在网上查找,无法find一个PopupWindow类的工作示例。 我在网上find的代码示例可以编译但不工作,或者使用已经被删除的方法(比如Activity.getViewInflate())

有一个简单的工作示例,显示一个PopupWindow?

我根据这个Google网上论坛post创build了一个工作示例。

要创build一个简单的工作PopupWindow,你需要做到以下几点:

  1. 创build一个布局XML,描述将在PopupWindow中呈现的视图。
  2. 通过膨胀布局XML来调用PopupWindow,并将相应的“父视图”分配给popup窗口。

popup_example.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:padding="10dip" android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10dip" android:text="Test Pop-Up" /> </LinearLayout> 

Java代码:

  LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); PopupWindow pw = new PopupWindow( inflater.inflate(R.layout.popup_example, null, false), 100, 100, true); // The code below assumes that the root container has an id called 'main' pw.showAtLocation(this.findViewById(R.id.main), Gravity.CENTER, 0, 0); 

AFAIK只有AbsoluteLayout的作品 (请确认),如http://sree.cc/google/android/android-popup-window所示; 。 我已经显示了popup权限,但LinearLayout没有显示所有元素。 但AbsoluteLayout已弃用!

FrameLayout也可以工作 ,但组织视图是一个噩梦,因为官方文档说只有一个视图是好的。

此外, 为了能够接收触摸事件 ,你需要这样做: setBackgroundDrawable(new BitmapDrawable());

如在Androidpopup窗口解雇进一步解释

你得到的隐形,因为你没有设置布局的背景颜色,你膨胀。设置为android:background =“#778899”,而且你肯定可以看到东西