
1.点击Button按钮显示d窗
效果图如下
在主xml文件设置一个button按钮
新建一个xml文件,命名为popup_view.xml
java文件关键代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);//设置d窗显示的View
}
public void doubleClick(View view) {
View popupView = getLayoutInflater().inflate(R.layout.popup_view, null);
PopupWindow popupWindow = new PopupWindow(popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,true);//java中设置宽高的形式、是否获取焦点
popupWindow.showAsDropDown(view);
}
2.给d窗外设置背景
在java代码中加入
popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.troye));
3.d出的两个按钮设置其他事件
因为两个Button按钮是在popupView中的,所以在java代码中要通过popupView去获取按钮
public void doubleClick(View view) {
View popupView = getLayoutInflater().inflate(R.layout.popup_view, null);
Button btn1 = popupView.findViewById(R.id.btn1);
Button btn2 = popupView.findViewById(R.id.btn2);
PopupWindow popupWindow = new PopupWindow(popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,true);//java中设置宽高的形式、是否获取焦点
popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.troye));//背景图片
popupWindow.showAsDropDown(view);//正左下显示
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e(TAG, "onClick: 你是住在上海吗" );
popupWindow.dismiss();
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.e(TAG, "onClick: 你是住在北京吗" );
}
});
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)