如何在进度栏中添加下载按钮或自定义布局?

问题描述 投票:0回答:2

我想创建一个自定义进度条,以在其中心显示带有图标和文本视图的下载进度,如下所示:

enter image description here

[这里有一些库和一些示例,但仅在进度栏中包含textview,所以我如何也添加此imageview?请帮助。

android android-progressbar
2个回答
0
投票
您应该创建customView。在您的customView中将是textView,并在onDraw方法中添加圆圈和箭头。在这段代码中,我向您展示绘制圆的过程

public class CircleView extends View { private static final String COLOR_HEX = "#E74300"; private final Paint drawPaint; private float size; public CircleView(final Context context, final AttributeSet attrs) { super(context, attrs); drawPaint = new Paint(); drawPaint.setColor(Color.parseColor(COLOR_HEX)); drawPaint.setAntiAlias(true); } @Override protected void onDraw(final Canvas canvas) { super.onDraw(canvas); canvas.drawCircle(size, size, size, drawPaint); } }


0
投票
您可以创建一个包含您的progressBar,textView和imageView的自定义布局。

layout_custom_progressbar.xml

<xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@color/white"> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyle" android:layout_width="200dp" android:layout_height="200dp" android:layout_marginTop="16dp" android:layout_marginBottom="16dp" android:progressBackgroundTint="@color/colorPrimary" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.0" /> <TextView android:id="@+id/tvMessage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Download PDF" android:textColor="@color/textColorPrimary" android:textSize="18sp" android:visibility="visible" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content"/> </androidx.constraintlayout.widget.ConstraintLayout>

然后使用标签将此布局添加到所需的活动中,并使用

visibility属性显示或隐藏它。

<include android:id="@+id/progressBar" layout="@layout/layout_custom_progressbar" android:visibility="gone"/>
© www.soinside.com 2019 - 2024. All rights reserved.