以编程方式圆角imageview

rounded corner imageview programmatically

我想在我的 ImageView 上设置一个圆角,代码如下:

FrameLayout frameLayout = new FrameLayout(this);
            frameLayout.setLayoutParams(up);
            layout.addView(frameLayout);

            CardView cardView = new CardView(this);
            cardView.setCardElevation(0);
            cardView.setRadius(20);
            cardView.setMaxCardElevation(0);
            cardView.setLayoutParams(upz);
            frameLayout.addView(cardView);

            ImageView imageView = new ImageView(this);
            String imageuri = listgambarpromo.get(i);
            if (!this.isFinishing()) {
                Glide.with(getBaseContext())
                        .load(imageuri)
                        .error(R.drawable.promoe)
                        .placeholder(R.drawable.promoe)
                        .skipMemoryCache(true)
                        .diskCacheStrategy(DiskCacheStrategy.ALL)
                        .fitCenter()
                        .into(imageView);
            }
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            imageView.setLayoutParams(upz1);
            cardView.addView(imageView);

我已经在 CardView 中设置了 ImageView,但它不起作用并且在角上显示为正方形

我应该如何处理我的代码?

您已经将 Glide 库用于图像。所以有 make round 选项

Glide.with(context)
    .load(url)
    .apply(new RequestOptions().transforms(new CenterCrop(), new RoundedCorners(20)))
    .into(imageView);

像这样。

如果你想画圈,

RequestOptions options = new RequestOptions()
                    .circleCrop()
                    .placeholder(R.drawable.img_nonemymenu)
                    .error(R.drawable.img_nonemymenu);

Glide.with(mContext).setDefaultRequestOptions(options)
    .load(url)
    .circleCrop()
    .into(imageView);

像这样。

如需更多选项,请勾选 this