PopupWindow的基本用法

PopupWindow的基本用法

1、PopupWindow的作用
PopupWindow控件,可以在屏幕任何地方以彈出框的方式顯示任何View
2、PopupWindow的使用步驟
- 初始化彈出框所需要顯示的View對象
- 初始化彈出框,並將View對象傳遞給彈出框
- 調用PopupWindow.showXXX方法將彈出框顯示到屏幕上的具體位置

/**
 * PopupWindow控件,可以在屏幕任何地方以彈出框的方式顯示任何View
 * 1 初始化彈出框所需要顯示的View對象
 * 2 初始化彈出框,並將View對象傳遞給彈出框
 * 3 調用PopupWindow.showXXX方法將彈出框顯示到屏幕上的具體位置
 *
 */
public class MainActivity extends Activity implements OnClickListener{

    private Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        //將所點擊的View控件傳遞給showPopupWindow方法
        showPopupWindow(v);

    }

    private void showPopupWindow(View anchor) {
        //1 初始化彈出框所需要顯示的View
        TextView textView = new TextView(this);
        textView.setText("這是一個文本文件");
        // 2初始化彈出框,並傳遞View對象,以及彈出框的寬高
        //此處的LayoutParams用ViewGroup的包
        PopupWindow pWindow = new PopupWindow(textView,
                LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        /*
         * 設置用戶點擊其他區域時,彈窗隱藏
         * 此方法需要給PopupWindow設置一個BitmapDrawable作爲背景
         */
        pWindow.setOutsideTouchable(true);
        pWindow.setBackgroundDrawable(new BitmapDrawable());
        //3 顯示彈出框
        /**
         * showAsDropDown(View anchor, int xOffset, int yOffset)
         * anchor 將彈出框顯示在anchor的左下角
         * xOffset  水平偏移
         * yOffset  垂直偏移
         */     
        pWindow.showAsDropDown(anchor, 30, 50);

    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章