我已经使用约束布局在浮动操作按钮顶部设置进度条。
喜欢
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/playBarView"
android:layout_width="match_parent"
android:layout_height="70dp"
app:layout_constraintBottom_toTopOf="@+id/navigation"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@id/containerLayout">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
app:srcCompat="@drawable/ic_prev" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/musicButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:elevation="2dp"
app:fabCustomSize="60dp"
app:maxImageSize="40dp"
app:rippleColor="@android:color/holo_blue_light"
app:srcCompat="@drawable/ic_play" />
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
app:srcCompat="@drawable/ic_next" />
</LinearLayout>
<ProgressBar
android:id="@+id/playProgress"
style="?android:progressBarStyleHorizontal"
android:layout_width="70dp"
android:layout_height="70dp"
android:clickable="false"
android:focusable="false"
android:progress="70"
android:progressDrawable="@drawable/progress_circle"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
问题是,当我单击它时,仅触发进度条单击,这很有意义,因为进度条位于FAB的顶部。
当我单击FAB时,我希望在其上应用波纹单击效果。
有什么方法可以禁用进度条上的单击,而仅将FAB设置为可点击?
答案 0 :(得分:0)
禁用点击应该可以解决问题。
将android:clickable="false"
添加到progressbar xml或代码中的progressBar.setClickable(false);
。
另外,您可以设置触摸监听器以防止触摸被阻塞:
progressBar.setOnTouchListener((v, event) -> false);