取出填充在我们的应用程序,我们需要一个不确定的进度条,就像这样:水平进度条
我们可以通过对进度设置负余量达到这个目的,像这样:
<ProgressBar
android:id="@+id/progressbar"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:marginTop="-7dp"
android:visibility="@{loading ? View.VISIBLE : View.GONE}" />
但因为ConstraintLayout不支持切缘阴性,它看起来就像这样:
好吧,负余量是一个破解。让我们用一个不同的黑客来代替它吧,我们?让我们来介绍一下我们的自定义视图CustomProgressBar
,延伸ProgressBar
和覆盖其onDraw
方法,像这样:
@Override
protected void onDraw(Canvas canvas) {
int marginTop = dpToPx(7);
canvas.translate(0, -marginTop);
super.onDraw(canvas);
}
但所有这一切闻起来像糟糕的代码。必须有更好的解决方案! 你会推荐什么?
谢谢,实际上做的伎俩!我通过在指南中设置'app:layout_constraintGuide_begin =“9dp”'来改变答案,并且只为工作栏设置'app:layout_constraintTop_toTopOf =“@ + id/guideline”'(不是constraintBottom或padding)。对我来说仍然感到不舒服,但我觉得这是目前最好的选择。 – mreichelt