AndroidでProgressBarの高さを変更する最も簡単な方法は何ですか?
ありがとう、
トメック
プログレスバーがXMLレイアウトで定義されている場合、次のように高さを定義しているように見えます。
<ProgressBar
Android:minHeight="20dip"
Android:maxHeight="20dip"/>
しかし、私は この記事 から推測しているだけです。
秘訣は、ProgressBarに「古い」ハローのないスタイルを使用させることです。それ以外の場合は、進行状況の描画可能として9パッチの画像が使用され、画像を操作しない限り高さを変更できません。だからここに私がしたことです:
プログレスバー:
<ProgressBar
Android:id="@+id/my_progressbar"
style="@Android:style/Widget.ProgressBar.Horizontal"
Android:layout_width="fill_parent"
Android:layout_height="10dp"
Android:progressDrawable="@drawable/horizontal_progress_drawable_red" />
プログレスドローアブル(horizontal_progress_drawable_red.xml):
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
<item Android:id="@Android:id/background">
<shape>
<solid Android:color="#808080"/>
</shape>
</item>
<item Android:id="@Android:id/secondaryProgress">
<clip>
<shape>
<solid Android:color="#80ff0000"/>
</shape>
</clip>
</item>
<item Android:id="@Android:id/progress">
<clip>
<shape>
<solid Android:color="#ff0000"/>
</shape>
</clip>
</item>
</layer-list>
交換する必要があります
style=”?android:attr/progressBarStyleHorizontal”
に
style="@Android:style/Widget.ProgressBar.Horizontal"
そしてlayout_heightは機能します
Android:layout_height="50dp"
このコードを使用できます:
mProgressBar.setScaleY(3f);
またはカスタムスタイルを使用する
値-> 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>
次に、ProgressBarに次を追加します。
style="@style/tallerBarStyle"