我的应用程序用户界面是使用Android支持库构建的,但是目前(真正的)进度栏没有AppCompat版本,这是我的应用程序真正需要的。
我宁愿不使用任何第三方库来实现 Material 设计进度条,所以我想知道是否有人坐在那里,了解为何支持库中未包含该信息,以及是否有任何迹象表明(何时)到达。
最佳答案
Material 组件库
您可以将 LinearProgressIndicator
与android:indeterminate="true"
属性一起使用:
<com.google.android.material.progressindicator.LinearProgressIndicator
android:indeterminate="true"
app:indicatorColor="?attr/colorPrimary"/>
您还可以通过以下方式使用不同的颜色:
<com.google.android.material.progressindicator.LinearProgressIndicator
android:indeterminate="true"
app:indicatorColor="@array/progress_colors"
app:growMode="outgoing"/>
与: <integer-array name="progress_colors">
<item>@color/...</item>
<item>@color/....</item>
<item>@color/....</item>
</integer-array>
您还可以使用
CircularProgressIndicator
组件具有循环进度指示器:<com.google.android.material.progressindicator.CircularProgressIndicator
android:indeterminate="true"
app:indicatorColor="?attr/colorPrimary"/>
注意: 至少需要版本
1.3.0-alpha04
AppCompat
您可以将
ProgressBar
与 AppCompat 样式一起使用。只需在您的布局中添加它:
<ProgressBar
style="@style/Base.Widget.AppCompat.ProgressBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="visible" />
如果您想要水平进度条,请使用: <ProgressBar
style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="8dp"
android:layout_marginTop="24dp"
android:indeterminate="true"
android:visibility="visible" />
他们遵循官方资料guidelines。