1月30日d窗PopupWindow

1月30日d窗PopupWindow,第1张

1月30日d窗PopupWindow

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: 你是住在北京吗" );
            }
        });

    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5716607.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存