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

Posted

技术标签:

【中文标题】如何将 ProgressBar 的样式更改为小?【英文标题】:How can I change the style of a ProgressBar to small? 【发布时间】:2011-03-30 20:20:38 【问题描述】:

我很难找到正确的方法来指定进度条应该具有小的不定样式。

如果有人可以为我和其他快速搜索此信息的人提供示例,我会很高兴。

【问题讨论】:

小不定式叫什么?是进度条显示在标题栏的时候吗?你不能只使用图像的缩放比例吗? 有一个小版本的旋转图形。我想用它在一个按钮内显示它,以表明一旦对服务器的调用完成,该按钮就会被激活 【参考方案1】:

解决办法是把样式改成

<ProgressBar
   android:layout_
   android:layout_
   style="?android:attr/progressBarStyleSmall" />

【讨论】:

我搜索了很多黑色进度条,因为在白色上几乎看不到标准进度条。我自己画了一张,因为我找不到。 我只在fixedd.com/projects/android_drawables_display找到了可绘制的“spinner_black_76” -> 其他【参考方案2】:

另一种方法是

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

前_

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

【讨论】:

【参考方案3】:

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

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

【讨论】:

android.R.attr.progressBarStyleSmall【参考方案4】:

这可能有用:

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

【讨论】:

【参考方案5】:

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

<ProgressBar
        android:id="@+id/progressBar"
        android:scaleX="0.5"
        android:scaleY="0.5"
        android:layout_
        android:layout_/>

这里,

scaleX:改变宽度,所以0.5会将宽度缩小到实际宽度的一半

scaleY:改变高度,所以0.5会将高度降低到实际高度的一半

【讨论】:

【参考方案6】:
 <ProgressBar
        android:id="@+id/progressBar1"
        android:layout_?android:attr/progressBarStyleSmallTitle"
        android:layout_ />

【讨论】:

欢迎来到 Stack Overflow!请不要只用源代码回答。尝试对您的解决方案如何工作提供一个很好的描述。请参阅:How do I write a good answer?。谢谢【参考方案7】:

根据@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 的大小。所以你可以制作自己的风格。

【讨论】:

【参考方案8】:
<!--changing of color,small size spinner-->
    <style name="progressColor" parent="@android:style/Widget.ProgressBar.Small">
        <item name="colorControlActivated">@color/colorPrimary</item>
    </style>

您可以通过在微调器中使用上述样式来实现彩色和小尺寸微调器

<ProgressBar
            android:layout_
            android:layout_
            style="@style/progressColor"
            android:layout_gravity="center" />

【讨论】:

以上是关于如何将 ProgressBar 的样式更改为小?的主要内容,如果未能解决你的问题,请参考以下文章

将 QListWidgetItem CheckState(toggled on) 上的默认 plastique 小部件样式更改为右勾而不是交叉勾

更改在运行时添加的 ProgressBar 的宽度

Chartjs - 将图例更改为带有圆点样式的线?

如何将窗体边框更改为 Windows Basic 而不是 Aero 样式?

在 XAML 样式中,如何将纯色背景更改为渐变?

如何将对话框项的样式更改为测试模式下出现的样式?