个别圆角(不是所有角落)

时间:2018-02-07 16:59:35

标签: android canvas android-canvas android-drawable android-bitmap

我试图仅在位图的TOP角上获得圆角。使用RoundedBitmapDrawable我可以在所有角落获得圆角,但我怎样才能在最顶端获得它?

代码我正在使用所有角落:

Bitmap src = BitmapFactory.decodeResource(getResources(), R.drawable.login_background, options);
RoundedBitmapDrawable dr = RoundedBitmapDrawableFactory.create(getResources(), src);
dr.setCornerRadius(convertToPixels(context, CORNER_RADIUS));
myView.setBackground(dr);

1 个答案:

答案 0 :(得分:4)

您可以使用Glide transformations进行此操作。

RoundedCornersTransformation实际上可以使用相同的半径对齐所有角落(不解决您的问题) 但我可能会建议你使用MaskTransformation。 用所需的圆角绘制9-patch drawable并将其传递给转换。

您也可以尝试编写自己的自定义Glide转换(复制或扩展RoundedCornersTransformation):https://github.com/bumptech/glide/wiki/Transformations