我activity_main.xml
低于如你所见,高度设为40浸。
而在MyEclipse中,它看起来象下面这样:
但是,当我的手机上运行它,它看起来象下面这样:
所以我的问题是,为什么进度的实际高度是不是我设置? 如何提高进度的高度?
我activity_main.xml
低于如你所见,高度设为40浸。
而在MyEclipse中,它看起来象下面这样:
但是,当我的手机上运行它,它看起来象下面这样:
所以我的问题是,为什么进度的实际高度是不是我设置? 如何提高进度的高度?
从本教程 :
<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(全息主题),顶部是原来的主题)。
我想最简单的解决办法是:
mProgressBar.setScaleY(3f);
安卓的scaleY =“8”在XML文件中
用这个
style="@android:style/Widget.ProgressBar.Horizontal"
正如在其他的答案中提到,它看起来像你设置你的进度栏的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
<ProgressBar
android:minHeight="20dip"
android:maxHeight="20dip"/>
值 - > 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"
这是我用过的进度条。
<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>