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);
}
}