Android中PopupWindow的使用

jopen 12年前

    public class PopUpActivity extends Activity {            /** Called when the activity is first created. */            @Override            public void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);                setContentView(R.layout.main);                LayoutInflater inflater = LayoutInflater.from(this);                // 引入窗口配置文件                View view = inflater.inflate(R.layout.main2, null);                // 创建PopupWindow对象                final PopupWindow pop = new PopupWindow(view, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, false);                Button btn = (Button) findViewById(R.id.btn);                // 需要设置一下此参数,点击外边可消失                pop.setBackgroundDrawable(new BitmapDrawable());                //设置点击窗口外边窗口消失                pop.setOutsideTouchable(true);                // 设置此参数获得焦点,否则无法点击                pop.setFocusable(true);                btn.setOnClickListener(new OnClickListener() {                                        @Override                    public void onClick(View v) {                        if(pop.isShowing()) {                            // 隐藏窗口,如果设置了点击窗口外小时即不需要此方式隐藏                            pop.dismiss();                        } else {                            // 显示窗口                            pop.showAsDropDown(v);                        }                                            }                });            }        }  

main.xml

    <?xml version="1.0" encoding="utf-8"?>        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:orientation="vertical" >                    <Button                android:id="@+id/btn"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="dianji" />                </LinearLayout>  
main2.xml
    <?xml version="1.0" encoding="utf-8"?>        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:orientation="vertical" >                    <Button                android:id="@+id/a"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="AAAAA" />                    <Button                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="BBBBB" />                    <Button                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="CCCCC" />                    <Button                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="DDDDD" />                </LinearLayout>  
转自:http://blog.csdn.net/android_xiaoqi/article/details/7618895