返回顶部
首页 > 资讯 > 精选 >Android怎么实现图片设置圆角形式
  • 546
分享到

Android怎么实现图片设置圆角形式

2023-06-21 20:06:11 546人浏览 薄情痞子
摘要

这篇文章主要讲解了“Android怎么实现图片设置圆角形式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现图片设置圆角形式”吧!自定义的图片圆角形式CircleImage

这篇文章主要讲解了“Android怎么实现图片设置圆角形式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现图片设置圆角形式”吧!

自定义的图片圆角形式CircleImageView类

public class CircleImageView extends ImageView {    private static final Xfermode MASK_XFERMODE;    private Bitmap mask;    private Paint paint;    private int mBorderWidth = 10;    private int mBorderColor = Color.parseColor("#f2f2f2");    private boolean useDefaultStyle = false;    static {        PorterDuff.Mode localMode = PorterDuff.Mode.DST_IN;        MASK_XFERMODE = new PorterDuffXfermode(localMode);    }    public CircleImageView(Context context) {        super(context);    }    public CircleImageView(Context context, AttributeSet attrs) {        this(context, attrs, 0);    }    public CircleImageView(Context context, AttributeSet attrs, int defStyle) {        super(context, attrs, defStyle);        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CircularImage);        mBorderColor = a.getColor(R.styleable.CircularImage_border_color, mBorderColor);        final int def = (int) (2 * context.getResources().getDisplayMetrics().density + 0.5f);        mBorderWidth = a.getDimensionPixelOffset(R.styleable.CircularImage_border_width, def);        a.recycle();    }    private void useDefaultStyle(boolean useDefaultStyle) {        this.useDefaultStyle = useDefaultStyle;    }    @Override    protected void onDraw(canvas canvas) {        if (useDefaultStyle) {            super.onDraw(canvas);            return;        }        final Drawable localDraw = getDrawable();        if (localDraw == null) {            return;        }        if (localDraw instanceof NinePatchDrawable) {            return;        }        if (this.paint == null) {            final Paint localPaint = new Paint();            localPaint.setFilterBitmap(false);            localPaint.setAntiAlias(true);            localPaint.setXfermode(MASK_XFERMODE);            this.paint = localPaint;        }        final int width = getWidth();        final int height = getHeight();                int layer = canvas.saveLayer(0.0F, 0.0F, width, height, null, 31);                localDraw.setBounds(0, 0, width, height);                localDraw.draw(canvas);        if ((this.mask == null) || (this.mask.isRecycled())) {            this.mask = createOvalBitmap(width, height);        }                canvas.drawBitmap(this.mask, 0.0F, 0.0F, this.paint);                canvas.restoreToCount(layer);        drawBorder(canvas, width, height);    }        private void drawBorder(Canvas canvas, final int width, final int height) {        if (mBorderWidth == 0) {            return;        }        final Paint mBorderPaint = new Paint();        mBorderPaint.setStyle(Paint.Style.STROKE);        mBorderPaint.setAntiAlias(true);        mBorderPaint.setColor(mBorderColor);        mBorderPaint.setStrokeWidth(mBorderWidth);        canvas.drawCircle(width / 2, height / 2, (width - mBorderWidth) / 2, mBorderPaint);        canvas = null;    }    public Bitmap createOvalBitmap(final int width, final int height) {        Bitmap.Config localConfig = Bitmap.Config.ARGB_8888;        Bitmap localBitmap = Bitmap.createBitmap(width, height, localConfig);        Canvas localCanvas = new Canvas(localBitmap);        Paint localPaint = new Paint();        final int padding = (mBorderWidth - 3) > 0 ? mBorderWidth - 3 : 1;                RectF localRectF = new RectF(padding, padding, width - padding, height - padding);        localCanvas.drawOval(localRectF, localPaint);        return localBitmap;    }}

1 在values目录下创建一个circle_attr.xml,文件内容:

<?xml version="1.0" encoding="utf-8"?><resources>    <declare-styleable name="CircularImage">        <attr name="border_width" fORMat="dimension" />        <attr name="border_color" format="color" />    </declare-styleable></resources>

如下图:

Android怎么实现图片设置圆角形式

activity_main.xml

<LinearLayout xmlns:android="Http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal">        <ImageView            android:layout_width="100dp"            android:layout_height="100dp"            android:src="@drawable/ic_sp" />        <com.demo.test.bitmap.CircleImageView            android:layout_width="100dp"            android:layout_height="100dp"            android:layout_marginLeft="50dp"            android:src="@drawable/ic_sp" />    </LinearLayout></LinearLayout>

MainActivity.java

public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }}

运行后结果:

 Android怎么实现图片设置圆角形式

感谢各位的阅读,以上就是“Android怎么实现图片设置圆角形式”的内容了,经过本文的学习后,相信大家对Android怎么实现图片设置圆角形式这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Android怎么实现图片设置圆角形式

本文链接: https://lsjlt.com/news/300549.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Android怎么实现图片设置圆角形式
    这篇文章主要讲解了“Android怎么实现图片设置圆角形式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android怎么实现图片设置圆角形式”吧!自定义的图片圆角形式CircleImage...
    99+
    2023-06-21
  • Android实现图片设置圆角形式
    本文实例为大家分享了Android实现图片设置圆角形式的具体代码,供大家参考,具体内容如下 1.自定义的图片圆角形式CircleImageView类 public class C...
    99+
    2024-04-02
  • Android基于Fresco怎么实现圆角和圆形图片
    这篇文章主要介绍“Android基于Fresco怎么实现圆角和圆形图片”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android基于Fresco怎么实现圆角和圆形图片”文章能帮助大家解决问题。Fr...
    99+
    2023-06-29
  • android 设置圆角图片实现代码
    代码如下: <xml version="1.0" encoding="utf-8"> <LinearLayout xmlns:android="http:/...
    99+
    2022-06-06
    图片 Android
  • Android基于Fresco实现圆角和圆形图片
    Fresco是FaceBook开源的Android平台图片加载库,可以从网络,从本地文件系统,本地资源加载图片 Fresco本身已经实现了圆角以及圆形图片的功能。 <!--圆形...
    99+
    2024-04-02
  • Android如何设置圆角图片
    在开发过程中有时需要将图片显示成圆角图片,一般我们可以通过在xml中设置drawable shape即可,但今天我给出另一种方法,用java代码动态去设置圆角,顺便做个简单的笔...
    99+
    2022-06-06
    图片 Android
  • Android自定义view实现圆形、圆角和椭圆图片(BitmapShader图形渲染)
    一、前言 Android实现圆角矩形,圆形或者椭圆等图形,一般主要是个自定义View加上使用Xfermode实现的。实现圆角图片的方法其实不少,常见的就是利用Xfermode,...
    99+
    2022-06-06
    view 图片 椭圆 Android
  • Android中的图片圆角怎么实现
    这篇文章主要介绍了Android中的图片圆角怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Android中的图片圆角怎么实现文章都会有所收获,下面我们一起来看看吧。Android 开发中,经常需要对图片...
    99+
    2023-06-29
  • css怎么实现图片变成圆角矩形
    今天小编给大家分享一下css怎么实现图片变成圆角矩形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
    99+
    2022-12-16
    css
  • Android实现圆角矩形和圆形ImageView的方式
    Android中实现圆角矩形和圆形有很多种方式,其中最常见的方法有ImageLoader设置Option和自定义View。 1.ImageLoader加载图片 publi...
    99+
    2022-06-06
    Android
  • CSS3怎么制作圆角图片和椭圆形图片
    这篇文章主要讲解了“CSS3怎么制作圆角图片和椭圆形图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS3怎么制作圆角图片和椭圆形图片”吧!本文实例为大...
    99+
    2024-04-02
  • css怎么为图片设置圆角
    这篇文章给大家分享的是有关css怎么为图片设置圆角的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在css中,可以使用border-radius属性为...
    99+
    2024-04-02
  • 怎么用Div+CSS纯图片实现圆角矩形
    本篇内容介绍了“怎么用Div+CSS纯图片实现圆角矩形”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!对,你...
    99+
    2024-04-02
  • Android实现圆形图片的两种方式
    在项目中,我们经常会用到圆形图片,但是android本身又没有提供,那我只能我们自己来完成。 第一种方式,自定义CircleImageView: public class C...
    99+
    2022-06-06
    图片 Android
  • Android实现圆形图片效果
    本文实例为大家分享了Android实现圆形图片效果的具体代码,供大家参考,具体内容如下 创建RoundPicture.java文件 在src/main/java/XX包下新建Ro...
    99+
    2024-04-02
  • php怎么将图片设置为圆形图片
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么将图片设置为圆形图片?php 图片圆形化处理:用到的php gd库函数有imagecolorat imagesetpixel首先是把图片处理成圆形的:原图如下:...
    99+
    2015-04-18
    php 圆形
  • css怎么将图片设置为圆形图片
    这篇“css怎么将图片设置为圆形图片”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“css怎么将图片设置为圆形图片”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢理解,接下来就让我们...
    99+
    2023-06-06
  • Android实现圆角图片的方法
    本文实例为大家分享了Android实现圆角图片的具体代码,供大家参考,具体内容如下 效果图 创建类CustomRoundAngleImageView public class ...
    99+
    2024-04-02
  • 如何给Android应用设置圆角图片
    本篇文章给大家分享的是有关如何给Android应用设置圆角图片,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。主要原理是使用系统自带api:RoundedBitmapDrawab...
    99+
    2023-05-31
    android roi
  • android开发设置圆形、圆角图片(全网最简单,不会你打我)
    最近在开发一个Android App,用户头像那里需要弄一个圆形的图片,但是      xml 的方式是不可以的, xml 只能改变背景为圆角的...
    99+
    2022-06-06
    图片 android开发 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作