package com.lechange.demo.view; import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.PopupWindow; import com.common.openapi.entity.DeviceDetailListData; import com.lechange.demo.R; import com.lechange.demo.adapter.PixelListAdapter; import java.util.ArrayList; import java.util.List; /** * 显示支持分辨率的弹框 */ public class LcPopupWindow extends PopupWindow { private RecyclerView pixelRecycle; // private ArrayList mData = new ArrayList<>(); private PixelListAdapter mPixelAdapter; public LcPopupWindow(Context context, List dataList) { super(context); setHeight(ViewGroup.LayoutParams.WRAP_CONTENT); setWidth(ViewGroup.LayoutParams.WRAP_CONTENT); setOutsideTouchable(true); setFocusable(true); setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); View contentView = LayoutInflater.from(context).inflate(R.layout.view_pixel_popwindow, null, false); pixelRecycle = contentView.findViewById(R.id.pixel_recycle); pixelRecycle.setLayoutManager(new LinearLayoutManager(context)); mPixelAdapter = new PixelListAdapter(context,dataList); pixelRecycle.setAdapter(mPixelAdapter); setContentView(contentView); } public void setPixelRecycleListener(onRecyclerViewItemClickListener listener){ mPixelAdapter.setOnItemClickListener(listener); } @SuppressWarnings("ResourceType") public int makeDropDownMeasureSpec(int measureSpec) { int mode; if (measureSpec == ViewGroup.LayoutParams.WRAP_CONTENT) { mode = View.MeasureSpec.UNSPECIFIED; } else { mode = View.MeasureSpec.EXACTLY; } return View.MeasureSpec.makeMeasureSpec(View.MeasureSpec.getSize(measureSpec), mode); } public interface onRecyclerViewItemClickListener{ void onItemClick(RecyclerView parent, View view, int position,String name,int imageSize,int streamType); } }