以编程方式圆角imageview

问题描述

我想在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库用于图像。所以有一个舍入选项

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...