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

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

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

【问题讨论】:

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

标签: android android-progressbar android-styles


【解决方案1】:

解决办法是把样式改成

<ProgressBar
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   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_width="wrap_content"
 android:layout_height="wrap_content"
 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_width="wrap_content"
              android:layout_height="wrap_content"/>
      

      这里,

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

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

      【讨论】:

        【解决方案6】:
         <ProgressBar
                android:id="@+id/progressBar1"
                android:layout_width="wrap_content
                style="?android:attr/progressBarStyleSmallTitle"
                android:layout_height="wrap_content" />
        

        【讨论】:

        • 欢迎来到 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_width="wrap_content"
                      android:layout_height="wrap_content"
                      style="@style/progressColor"
                      android:layout_gravity="center" />
          

          【讨论】:

            猜你喜欢
            • 2023-02-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多