【发布时间】:2012-11-04 18:49:19
【问题描述】:
在卸载安卓应用,或者做一些配置的时候,会出现这样一个水平进度条,如下图:
和@android:style/Widget.ProgressBar.Horizontal不一样的风格。
如何在我自己的应用程序中使用它?
【问题讨论】:
标签: android android-progressbar
在卸载安卓应用,或者做一些配置的时候,会出现这样一个水平进度条,如下图:
和@android:style/Widget.ProgressBar.Horizontal不一样的风格。
如何在我自己的应用程序中使用它?
【问题讨论】:
标签: android android-progressbar
用于使用新的进度条
style="?android:attr/progressBarStyleHorizontal"
为旧的灰色进度条使用
style="@android:style/Widget.ProgressBar.Horizontal"
在这个选项中,您可以通过设置 minHeight 来更改高度
完整的 XML 代码为:
<ProgressBar
android:id="@+id/pbProcessing"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvProcessing"
android:indeterminateOnly="true"/>
indeterminateOnly 设置为 true 以获得不确定的水平进度条
【讨论】:
布局中的进度条
<ProgressBar
android:id="@+id/download_progressbar"
android:layout_width="200dp"
android:layout_height="24dp"
android:background="@drawable/download_progress_bg_track"
android:progressDrawable="@drawable/download_progress_style"
style="?android:attr/progressBarStyleHorizontal"
android:indeterminate="false"
android:indeterminateOnly="false" />
download_progress_style.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/progress">
<scale
android:useIntrinsicSizeAsMinimum="true"
android:scaleWidth="100%"
android:drawable="@drawable/store_download_progress" />
</item>
【讨论】:
现在您可以使用 Material Design 中的 LinearProgressIndicator 轻松创建它,例如进行大量自定义
<com.google.android.material.progressindicator.LinearProgressIndicator
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true" />
查看 MaterialDesign 链接了解更多信息和代码示例
https://material.io/components/progress-indicators/android#using-progress-indicators
【讨论】:
只需添加 STYLE 行,您的进度就会变成水平的:
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/progress"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:max="100"
android:progress="45"/>
【讨论】:
为我工作,可以尝试相同的
<ProgressBar
android:id="@+id/determinateBar"
android:indeterminateOnly="true"
android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"
android:indeterminateDuration="10"
android:indeterminateBehavior="repeat"
android:progressBackgroundTint="#208afa"
android:progressBackgroundTintMode="multiply"
android:minHeight="24dip"
android:maxHeight="24dip"
android:layout_width="match_parent"
android:layout_height="10dp"
android:visibility="visible"/>
【讨论】:
我的手机上是Widget.ProgressBar.Horizontal,如果我设置android:indeterminate="true"
【讨论】:
wrap_content(或更大的值),我已经花了将近一个小时来弄清楚为什么进度条没有显示... -.-