2011-08-31 74 views
2

我想使水平進度欄變薄我想在進度增加時更改內部進度顏色更改。如何使水平進度欄變薄並更改內部進度顏色

<ProgressBar android:id="@+id/progressBar1" 
android:layout_width="100dip" 
android:layout_marginTop="200dip" 
android:layout_height="wrap_content" 
style="?android:attr/progressBarStyleHorizontal" 
android:indeterminateOnly="false" 
android:progressDrawable="@android:drawable/progress_horizontal" 
android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal" 

/> 

回答

2

This link將幫助您創建可由線程更新的進度條。

您可以使用此樣式來創建小的進度條

<style name="Widget.ProgressBar.Small"> 
    <item name="android:indeterminateDrawable">@android:drawable/progress_small_white</item> 
    <item name="android:minWidth">16dip</item> 
    <item name="android:maxWidth">16dip</item> 
    <item name="android:minHeight">16dip</item> 
    <item name="android:maxHeight">16dip</item> 
</style> 

你也可以使用下面的代碼來改變顏色。

ProgressBar pg = (ProgressBar)row.findViewById(R.id.progress); 
final float[] roundedCorners = new float[] { 5, 5, 5, 5, 5, 5, 5, 5 }; 
pgDrawable = new ShapeDrawable(new RoundRectShape(roundedCorners, null,null)); 
String MyColor = "#FF00FF"; 
pgDrawable.getPaint().setColor(Color.parseColor(MyColor)); 
ClipDrawable progress = new ClipDrawable(pgDrawable, Gravity.LEFT, ClipDrawable.HORIZONTAL); 
pg.setProgressDrawable(progress); 
pg.setBackgroundDrawable(getResources().getDrawable(android.R.drawable.progress_horizontal)); 
pg.setProgress(45); 

希望這可以幫助!

+0

使用此樣式。它給我的魅力。風格=「@安卓風格/ Widget.Holo.Light.ProgressBar.Small.Inverse」 –