RecycleView 动态设置item宽度

1 通过Adapter动态设置

public class TableAdapter extends BaseQuickAdapter {
    public TableAdapter(@Nullable List data) {
        super(R.layout.item_table,data);
    }

    @Override
    protected void convert(BaseViewHolder helper, String item) {
        int screenWidth = DisplayUtil.getScreenWidth(mContext);
        RelativeLayout relativeLayout = helper.getView(R.id.rl_container);
        ViewGroup.LayoutParams params = relativeLayout.getLayoutParams();
        params.width = screenWidth / 5;
        relativeLayout.setLayoutParams(params);
    }
}
    public static int getScreenWidth(Context context){
        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics dm = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(dm);
//        int width = dm.widthPixels;         // 屏幕宽度(像素)
//        int height = dm.heightPixels;       // 屏幕高度(像素)
//        float density = dm.density;         // 屏幕密度(0.75 / 1.0 / 1.5)
//        int densityDpi = dm.densityDpi;     // 屏幕密度dpi(120 / 160 / 240)
//        // 屏幕宽度算法:屏幕宽度(像素)/屏幕密度
//        int screenWidth = (int) (width / density);  // 屏幕宽度(dp)
//        int screenHeight = (int) (height / density);// 屏幕高度(dp)
        return dm.widthPixels;
    }

 

你可能感兴趣的:(自定义控件)