如何将ProgressBar的样式更改为小?

时间:2010-08-17 07:54:11

标签: android android-progressbar android-styles

我在找到指定进度条应该具有小的不确定样式的正确方法时遇到了一些困难。

如果有人可以为我和其他人快速搜索这些信息,我会很高兴。

7 个答案:

答案 0 :(得分:121)

解决方案是将样式更改为

<ProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   style="?android:attr/progressBarStyleSmall" />

答案 1 :(得分:14)

另一种方法是

style="@android:style/Widget.ProgressBar.Small" 

实施例_

<ProgressBar
 android:id="@+id/progress_bar"
 style="@android:style/Widget.ProgressBar.Small"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:padding="7dip"
 arandroid:visibility="visible" />

答案 2 :(得分:8)

以下是如何以编程方式执行此操作:

ProgressBar progress = new ProgressBar(ctx, null, android.R.attr.progressBarStyleSmall);

答案 3 :(得分:8)

这可能有用:

style="?android:attr/android:progressBarStyleSmall"

答案 4 :(得分:1)

 <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_width="wrap_content
        style="?android:attr/progressBarStyleSmallTitle"
        android:layout_height="wrap_content" />

答案 5 :(得分:0)

根据@Rupesh Yadav的回答,您可以看到@android:style/Widget.ProgressBar.Small样式的结构:

<style name="Widget.ProgressBar.Small">
    <item name="indeterminateDrawable">@drawable/progress_small_white</item>
    <item name="minWidth">16dip</item>
    <item name="maxWidth">16dip</item>
    <item name="minHeight">16dip</item>
    <item name="maxHeight">16dip</item>
</style>

我可以确认设置最小和最大尺寸可以解决此问题。显式设置宽度和高度不会更改ProgressBar的大小。这样您就可以制作自己的样式。

答案 6 :(得分:0)

您可以轻松地更改进度条的大小scaleX和scaleY属性,如下所示:

<ProgressBar
        android:id="@+id/progressBar"
        android:scaleX="0.5"
        android:scaleY="0.5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

在这里

scaleX:要更改宽度,因此0.5会将宽度减小为实际宽度的一半

scaleY::要更改高度,因此0.5会将高度减小到实际高度的一半