如何设置了Android进度的高度?(How to set the Android progress

2019-07-04 01:57发布

activity_main.xml低于如你所见,高度设为40浸。

而在MyEclipse中,它看起来象下面这样:

但是,当我的手机上运行它,它看起来象下面这样:

所以我的问题是,为什么进度的实际高度是不是我设置? 如何提高进度的高度?

Answer 1:

从本教程 :

<style name="CustomProgressBarHorizontal" parent="android:Widget.ProgressBar.Horizontal">
      <item name="android:progressDrawable">@drawable/custom_progress_bar_horizontal</item>
      <item name="android:minHeight">10dip</item>
      <item name="android:maxHeight">20dip</item>
</style>

然后,只需将该样式应用到你的进度条或更好 ,覆盖默认风格在你的主题风格自动所有的应用的进度条。

你所看到的截图不同的是,因为手机/仿真器使用的是差的Android版本(最新的是来自ICS(全息主题),顶部是原来的主题)。



Answer 2:

我想最简单的解决办法是:

mProgressBar.setScaleY(3f);


Answer 3:

安卓的scaleY =“8”在XML文件中



Answer 4:

用这个

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



Answer 5:

正如在其他的答案中提到,它看起来像你设置你的进度栏的Holo.Light的风格:

style="@android:style/Widget.Holo.Light.ProgressBar.Horizontal"

如果这是你的手机,它可能是一个3.0+设备上运行。 但是你的模拟器像使用“默认”进度条的样子。

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

也许你改变了风格,以“默认”进度条在创建截屏之间? 不幸的是2.x的设备将不会自动回到默认的“默认”进度条,如果你的项目使用Holo.Light进度条。 它只会崩溃。

如果你真正使用的是默认的进度条,然后设定最大/最小高度,建议将正常工作。 但是,如果您使用的是Holo.Light(或全息)栏,然后设置最大/最小高度将无法正常工作。 下面是从设定最大/最小高度,以25和100浸输出样本:

最大值/最小值设定为25浸:

最大值/最小值设定为100浸:

你可以看到,底层绘制(progress_primary_holo_light.9.png)不结垢如你所期望的。 这样做的原因是,9补丁边境仅缩放顶部和底部的几个像素:

由单像素,黑色边框(绿色箭头)为边界的水平区域是获取拉伸时的Android需要调整垂直的png格式的部分。 两个红色箭头之间的区域将不会被垂直拉伸。

解决这个问题的最好的解决办法是改变9patch巴纽的拉伸杆,而不是“画布区域”,然后创建一个自定义进度栏的XML使用这些9patches。 这里同样描述: https://stackoverflow.com/a/18832349

这是我实现的只是非超静定Holo.Light进度。 你必须添加自己的9补丁超静定和全息ProgressBars。 理想情况下,我应该已经完全删除画布区域。 相反,我离开了,但设置“栏中的”区域伸展。 https://github.com/tir38/ScalingHoloProgressBar



Answer 6:

<ProgressBar  
android:minHeight="20dip" 
android:maxHeight="20dip"/>


Answer 7:

值 - > styles.xml

<style name="tallerBarStyle" parent="@android:style/Widget.SeekBar">
    <item name="android:indeterminateOnly">false</item>
    <item name="android:progressDrawable">@android:drawable/progress_horizontal</item>
    <item name="android:indeterminateDrawable">@android:drawable/progress_horizontal</item>
    <item name="android:minHeight">8dip</item>
    <item name="android:maxHeight">20dip</item>
</style>

然后在你的进度补充:

style="@style/tallerBarStyle"


Answer 8:

这是我用过的进度条。

<ProgressBar
     android:padding="@dimen/dimen_5"
     android:layout_below="@+id/txt_chklist_progress"
     android:id="@+id/pb_media_progress"
     style="@style/MyProgressBar"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="center"
     android:progress="70"
     android:scaleY="5"
     android:max="100"
     android:progressBackgroundTint="@color/white"
     android:progressTint="@color/green_above_avg" />

这是我的风格标签

 <style name="MyProgressBar" parent="@style/Widget.AppCompat.ProgressBar.Horizontal">
    <item name="android:progressBackgroundTint">@color/white</item>
    <item name="android:progressTint">@color/green_above_avg</item>
</style>


文章来源: How to set the Android progressbar's height?