Android中按钮上的进度指示器

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

我正在Android项目中使用Material Design Button。我想在按下按钮时创建一个Progress Indicator按钮。似乎“材料设计”还没有支持。

有人建议我如何在Material Design Button中实现相同的效果。

谢谢

android material-design android-button material-components-android material-components
1个回答
0
投票

我不认为可以根据您的需要提供任何材料组件,但是为该组件自定义布局非常容易,您可以使用约束布局并相应地放置视图。例如,您可以对进度条设置约束,使其位于按钮的中间。请尝试以下操作,并检查是否符合您的目的。

 <androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

      <com.google.android.material.button.MaterialButton
            android:id="@+id/button_accept"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dimen_24"
            android:layout_marginEnd="@dimen/dimen_24"
            android:backgroundTint="@color/colorGreen2"
            android:elevation="8dp"
            android:padding="@dimen/dimen_4"
            android:src="@drawable/ic_check_white"
            android:text="Accept"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <ProgressBar
            android:id="@+id/progress_bar_accept"
            android:layout_width="@dimen/dimen_32"
            android:layout_height="@dimen/dimen_32"
            android:elevation="8dp"
            android:indeterminate="true"
            android:indeterminateTint="@color/colorWhite"
            android:indeterminateTintMode="src_in"
            android:visibility="gone"
            app:layout_constraintBottom_toBottomOf="@+id/button_accept"
            app:layout_constraintEnd_toEndOf="@+id/button_accept"
            app:layout_constraintStart_toStartOf="@+id/button_accept"
            app:layout_constraintTop_toTopOf="@+id/button_accept"/>

 </androidx.constraintlayout.widget.ConstraintLayout>

现在通过维护一些逻辑(例如使用标志来保持进度条的状态)来处理进度条的可见性。

如果您需要了解约束布局,可以在此处进行检查:https://developer.android.com/reference/android/support/constraint/ConstraintLayout

希望这会有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.