短视频平台搭建,Android自定义旋转进度条

短视频平台搭建,Android自定义旋转进度条实现的相关代码

1、拓展带文字的进度条

首先我们选择新版的ContentLoadingProgressBar来进行继承拓展(因为这个相对于ProgressBar来说用户体验上会有一点优化)。然后在继承的控件里面绘制文字,然后选择设置进度条的背景色。代码如下:

 

1
<br>class CustomProgress: ContentLoadingProgressBar {<br>    //中心显示的文字<br>    private var centerText = "Scanning..."<br>    private var textColor = Color.parseColor("#5ED9ED")<br>    set(value) {<br>        field = value<br>        postInvalidate()<br>    }<br>    //绘制的画笔<br>    private val textPaint = Paint()<br>    constructor(context: Context) : super(context){<br>        initPaint()<br>    }<br>    constructor(context: Context, attrs: AttributeSet?) : super(context, attrs){<br>        initPaint()<br>    }<br>    private fun initPaint(){<br>        textPaint.color = textColor<br>        textPaint.textSize = PxUtils.spToPx(12,context).toFloat()<br>        textPaint.style = Paint.Style.FILL<br>        textPaint.isAntiAlias = true<br>        textPaint.textAlign = Paint.Align.CENTER<br>    }<br>    override fun onDraw(canvas: Canvas?) {<br>        super.onDraw(canvas)<br>        canvasCenterText(canvas)<br>    }<br>    /**<br>     * 绘制中心的文字<br>     */<br>    private fun canvasCenterText(canvas: Canvas?){<br>        canvas?.drawText(centerText, (width / 2).toFloat(), (width / 2).toFloat(), textPaint)<br>    }<br>}

​2、创建动画背景

 

1
<br>在../app/res/文件夹下面创建anim文件夹。创建anim_progress.xml文件。内容如下:<br><?xml version="1.0" encoding="utf-8"?><br><rotate xmlns:android="http://schemas.android.com/apk/res/android"<br>    android:duration="50"<br>    android:drawable="@mipmap/img_processing_ring"<br>    android:fromDegrees="0"<br>    android:pivotX="50%"<br>    android:pivotY="50%"<br>    android:toDegrees="1080"/><!-- 值越大速度越快 -->

其中动画文件里面的drawable引用的是一个旋转的图片,也可以自定义。

使用如下:

 

1
<br><com.custom.view.CustomProgress<br>        android:id="@+id/media_progressbar"<br>        style="?android:attr/progressBarStyleLarge"<br>        android:layout_width="200dp"<br>        android:layout_height="200dp"<br>        android:indeterminateDrawable="@anim/anim_progress"<br>        android:visibility="visible"<br>        app:layout_constraintBottom_toBottomOf="parent"<br>        app:layout_constraintEnd_toEndOf="parent"<br>        app:layout_constraintStart_toStartOf="parent"<br>        app:layout_constraintTop_toTopOf="parent"<br>        tools:visibility="visible"/>

以上就是短视频平台搭建,Android自定义旋转进度条实现的相关代码, 更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(73)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示