自定义Drawable不为CardView的图像生成圆角

克里斯蒂安·科拉西略

我使用新的CardView和RecyclerView创建了卡片列表,其外观如下:

我的卡

我已尝试按照Mariotti在这篇文章中的说明将卡片修改为带有圆角

问题:问题是,从屏幕截图中可以看到,我只能在图像保持正方形的同时设置卡的角。

在示例中,一个自定义Drawable类扩展使用Drawable绘制了一个圆角矩形Canvas.drawRoundRect(),并使用Paint带有的aBitmapShader将纹理而不是简单的颜色填充到该圆角矩形,这也将在此处进行说明

在我的适配器中,我有:

@Override
public ContactViewHolder onCreateViewHolder(final ViewGroup viewGroup, int i) {
    final View itemView = LayoutInflater
                    .from(viewGroup.getContext())
                    .inflate(R.layout.item_card_view, viewGroup, false);
    CardView cardView = (CardView) itemView.findViewById(R.id.card_view);

    ImageView imageView = (ImageView) itemView.findViewById(R.id.hImage);

    Bitmap mBitmap = BitmapFactory.decodeResource(itemView.getResources(), R.drawable.background);
    //Default
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
        //Default
        imageView.setBackgroundResource(R.drawable.background);
    } else {
        //RoundCorners
        madapps.hellogridview.RoundCornersDrawable round = new madapps.hellogridview.RoundCornersDrawable(
                mBitmap,            
             itemView.getResources().getDimension(R.dimen.cardview_default_radius)
                , 5); //or your custom radius

        cardView.setPreventCornerOverlap(false); //it is very important

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
            imageView.setBackground(round);
        else
            imageView.setBackgroundDrawable(round);
    }

    //Set onClick listener
    cardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int tag = (Integer) v.findViewById(R.id.hTitle).getTag();
            Toast.makeText(viewGroup.getContext(), "Clickable card no: "+tag, Toast.LENGTH_LONG).show();
        }
    });
    return new ContactViewHolder(itemView);
}

并且我已经覆盖了R.dimen.cardview_default_radiusto的值8dp,但是没有结果!有任何想法吗?

克里斯蒂安·科拉西略

我已经用这个解决了:

https://github.com/pungrue26/SelectableRoundedImageView

并将半径10dp(与卡片相同)应用于图像的顶角:

<com.joooonho.SelectableRoundedImageView  android:id="@+id/headerImage"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_height="wrap_content"     
    android:layout_width="wrap_content"
    android:src="@drawable/cardbackground3"
    android:scaleType="centerCrop"
    android:adjustViewBounds="true"
    app:sriv_left_top_corner_radius="10dip"
    app:sriv_right_top_corner_radius="10dip"
    app:sriv_left_bottom_corner_radius="0dip"
    app:sriv_right_bottom_corner_radius="0dip"
    app:sriv_border_color="#333333"/>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自定义形状(圆角正方形)drawable android

来自分类Dev

自定义形状(圆角正方形)drawable android

来自分类Dev

ctags不为自定义语言生成标签

来自分类Dev

带圆角的Android自定义WebView

来自分类Dev

使用图像按钮和TextView生成自定义时钟

来自分类Dev

PyQt:如何使用自定义消息生成光栅图像

来自分类Dev

生成带有自定义文本的预览图像?

来自分类Dev

如何为 Facebook 爬虫生成自定义图像?

来自分类Dev

Android中的Cardview自定义设计

来自分类Dev

带有css圆角的Google地图自定义标记

来自分类Dev

在Android上使用自定义颜色的圆角布局

来自分类Dev

如何在Java中绘制自定义的圆角矩形?

来自分类Dev

自定义控件上的问题图圆角

来自分类Dev

自定义视图 - 由线条绘制的圆角矩形的角

来自分类Dev

自定义SwaggerDocument生成

来自分类Dev

自定义核心图像过滤器生成的图像大小不确定-固定

来自分类Dev

django 1.9不为自定义用户模型创建表

来自分类Dev

自定义自动生成的Swagger定义

来自分类Dev

将自定义CardView样式附加到主题

来自分类Dev

如何创建自定义形状的CardView android

来自分类Dev

带有水平 CardView 的自定义 ListView 设计

来自分类Dev

使用 Fragments 在 recyclerView 中的 android 自定义 cardview

来自分类Dev

如何使用自定义 drawable 以编程方式截屏

来自分类Dev

使用动态颜色创建自定义 xml drawable

来自分类Dev

如何在keras中进行自定义回调以在VAE培训中生成示例图像?

来自分类Dev

如何使用Google Maps API显示自定义标记以生成静态地图图像

来自分类Dev

旋转注释自定义图像

来自分类Dev

Pinterest自定义图像共享列表

来自分类Dev

Facebook分享按钮的自定义图像

Related 相关文章

热门标签

归档