Android使用自定义View实现仿keep6.132.0版本用户头像带进度条圆圈效果

要实现的是Keep的这个部分:
在这里插入图片描述
先直接看实现后的效果图:
在这里插入图片描述
就是这个,通过点击应用发现,界面中不止一处用到了这个组合作为头像,因此需要我们进行一下封装。
为了方便不同界面的调用,我们写一个自定义的View,这样就可以在xml布局文件中直接进行使用了。

先来分析一下界面,初步可以看到有四个部分,先是整体的大白圆形背景,之后是灰色的虚线,灰色虚线上面覆盖着绿色的虚线,最后是中间部分的头像照片。
因此我们可以分为两部分来进行开发,即头像照片是一部分,其余为一部分。

我们首先来写非照片部分,也就是圆形和圆弧的部分。
这部分用到的Android技术主要就是自定义View绘制圆形和圆弧,如下所示:

/**
 * 自定义带有正圆形边框的View
 */
public class CusRoundFrameView extends View {
   
    public int backgroundColor = Color.WHITE;//最外圈实心圆背景色
    public int progressCount = 7;//绿色进度条个数

    public CusRoundFrameView(Context context) {
   
        super(context);
    }

    public CusRoundFrameView(Context context, @Nullable AttributeSet attrs) {
   
        super(context, attrs);
    }

    public CusRoundFrameView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
   
        super(context, attrs, defStyleAttr);
    }

    public CusRoundFrameView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
   
        super(context, attrs, defStyleAttr, defStyleRes);
    }

    @Override
    protected void onDraw(Canvas canvas) {
   
        super.onDraw(canvas);

        int padding = 11;//内圈距离外框距离
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值