RecyclerView使用(六)结合PopWindow呈现

RecyclerView使用(六)结合PopWindow呈现

PopWindow使用参考:
http://blog.csdn.net/weixin_37577039/article/details/79369614
RecyclerView使用参考:http://blog.csdn.net/weixin_37577039/article/details/78581423


     // 弹出框
    private void popWindow(View view){
        // 设置背景变暗
        mWindow = getWindow();
        WindowManager.LayoutParams params = mWindow.getAttributes();
        params.alpha = 0.7f;
        mWindow.setAttributes(params);
        View productListView = LayoutInflater.from(this).inflate(R.layout.product_list_view, null);
        // ***这一步是关键***
        plRecyclerView =  productListView.findViewById(R.id.recyclerView);
        PopupWindow popWindow = new PopupWindow(productListView, 780, 900);
        popWindow.setOutsideTouchable(true);      //必须设置背景
        popWindow.setBackgroundDrawable(null);
        //相对于父控件的位置(例如正中央Gravity.CENTER,下方Gravity.BOTTOM等),可以设置偏移或无偏移
        popWindow.showAtLocation(view, Gravity.CENTER, 0, 0);
        // ***网络请求获取list数据***
        askInternet3();
        popWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
            @Override
            public void onDismiss() {
                if(mWindow!=null){
                    WindowManager.LayoutParams params = mWindow.getAttributes();
                    params.alpha = 1.0f;
                    mWindow.setAttributes(params);
                }
            }
        });
    }

剩下的initData和initView则和Activity使用时一样的

    private void initProductListData(){
        pdAdapter = new ProductListAdapter(productNameList,productTypeList,eachPriceList,totalNumberList);
    }

    private void initProductListView(){
        //设置纵向滚动的 即item是横向分布的
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
        //设置布局管理器
        plRecyclerView.setLayoutManager(linearLayoutManager);
        //如果可以确定每个item的高度是固定的,设置这个选项可以提高性能
        plRecyclerView.setHasFixedSize(true);
        //设置adapter
        plRecyclerView.setAdapter(pdAdapter);
        plRecyclerView.addItemDecoration(new MyDividerItemDecoration(
                    this, DividerItemDecoration.VERTICAL));
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值