Android实现圆角图片的方法

 更新时间:2021年04月22日 14:41:51   作者:天地神仙  
这篇文章主要为大家详细介绍了Android实现圆角图片的方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Android实现圆角图片的具体代码,供大家参考,具体内容如下

效果图

创建类CustomRoundAngleImageView

public class CustomRoundAngleImageView extends AppCompatImageView {
    float width, height;

    public CustomRoundAngleImageView(Context context) {
        this(context, null);
        init(context, null);
    }

    public CustomRoundAngleImageView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
        init(context, attrs);
    }

    public CustomRoundAngleImageView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context, attrs);
    }

    private void init(Context context, AttributeSet attrs) {
        if (Build.VERSION.SDK_INT < 18) {
            setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        width = getWidth();
        height = getHeight();
    }

    @Override
    protected void onDraw(Canvas canvas) {
        if (width >= 20 && height > 20) {
            Path path = new Path();
            //四个圆角
            path.moveTo(20, 0);
            path.lineTo(width - 20, 0);
            path.quadTo(width, 0, width, 20);
            path.lineTo(width, height - 20);
            path.quadTo(width, height, width - 20, height);
            path.lineTo(20, height);
            path.quadTo(0, height, 0, height - 20);
            path.lineTo(0, 20);
            path.quadTo(0, 0, 20, 0);
            canvas.clipPath(path);
        }
        super.onDraw(canvas);
    }
}

布局代码

<com.example.myapplication.CustomRoundAngleImageView
      android:id="@+id/we_image"
      android:layout_width="42dp"
      android:layout_height="42dp"
      android:layout_marginLeft="16dp"
      android:layout_marginTop="10dp"
      android:src="@mipmap/ic_launcher"
      android:layout_marginBottom="10dp"
      android:layout_gravity="center"
      android:scaleType="centerCrop" />

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • android获取相册图片和路径的实现方法

    android获取相册图片和路径的实现方法

    这篇文章主要介绍了android获取相册图片和路径的实现方法,本文介绍的是Android4.4后的方法,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • Android使alertDialog.builder不会点击外面和按返回键消失的方法

    Android使alertDialog.builder不会点击外面和按返回键消失的方法

    本篇文章主要介绍了Android使alertDialog.builder不会点击外面和按返回键消失的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-01-01
  • Android 异步加载图片分析总结

    Android 异步加载图片分析总结

    研究了android从网络上异步加载图像,现总结如下,感兴趣的朋友可以了解下哈
    2013-06-06
  • Android 中TabLayout自定义选择背景滑块的实例代码

    Android 中TabLayout自定义选择背景滑块的实例代码

    TabLayout是Android 的Material Design包中的一个控件,可以和V4包中的ViewPager搭配产生一个联动的效果。接下来通过本文给大家分享TabLayout自定义选择背景滑块的实例代码,感兴趣的朋友一起学习吧
    2016-10-10
  • Kotlin WorkManager使用方法详解

    Kotlin WorkManager使用方法详解

    这篇文章主要介绍了Kotlin WorkManager使用方法,WorkManager是 安卓体系结构之一,也是Android JetPack的一部分。WorkManager用于可延期并需要保证执行的后台工作
    2023-01-01
  • Android开发学习之WallPaper设置壁纸详细介绍与实例

    Android开发学习之WallPaper设置壁纸详细介绍与实例

    这篇文章主要介绍了Android开发学习之WallPaper设置壁纸详细介绍与实例,有需要的朋友可以参考一下
    2013-12-12
  • 详解Android开发录音和播放音频的步骤(动态获取权限)

    详解Android开发录音和播放音频的步骤(动态获取权限)

    这篇文章主要介绍了详解Android开发录音和播放音频的步骤(动态获取权限),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Android自定义TextView实现文字倾斜效果

    Android自定义TextView实现文字倾斜效果

    有时候Android自带的控件无法满足我们的某些要求,这时就需要我们自定义控件来实现这些功能。比如在实际开发应用中,我们有时需要将TextView的文字倾斜一定的角度,就需要自定义TextView。下面这篇文章就给大家介绍了利用Android TextView如何实现文字倾斜效果。
    2016-11-11
  • Android shape标签使用方法介绍

    Android shape标签使用方法介绍

    shape算是我们常用的一个标签,他可以生成线条,矩形, 圆形, 圆环,像我们圆角的按钮就可以通过shape来实现,最终Android会把这个带有shape标签的图片解析成一个Drawable对象,这个Drawable对象本质是GradientDrawable
    2022-09-09
  • Android字体设置及Roboto字体使用方法

    Android字体设置及Roboto字体使用方法

    这篇文章主要介绍了Android字体设置及Roboto字体使用方法,较为详细的分析了自定义字体及RoBoto的具体用法,非常具有实用价值,需要的朋友可以参考下
    2015-01-01

最新评论