ProgressBar 进度条设置百分比显示
rawable/progressbar
1 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 2 3 <item android:id="@android:id/secondaryProgress"> 4 <clip> 5 <shape> 6 <corners android:radius="5dip" /> 7 <gradient 8 android:angle="0" 9 android:centerColor="#80ffb600" 10 android:centerY="0.75" 11 android:endColor="#a0ffcb00" 12 android:startColor="#80ffd300" /> 13 </shape> 14 </clip> 15 </item> 16 <item android:id="@android:id/progress"> 17 <clip> 18 <shape> 19 <corners android:radius="5dip" /> 20 <gradient 21 android:angle="0" 22 android:endColor="#8000ff00" 23 android:startColor="#80ff0000" /> 24 </shape> 25 </clip> 26 </item> 27 28 </layer-list>
1 <ProgressBar 2 android:id="@+id/ProgressBar" 3 style="?android:attr/progressBarStyleHorizontal" 4 android:layout_width="fill_parent" 5 android:layout_height="5dp" 6 android:layout_marginLeft="20dp" 7 android:layout_marginRight="30dp" 8 android:layout_marginTop="5dp" 9 android:max="100" 10 android:progressDrawable="@drawable/progressbar" />
1 @Override 2 public View getView(int position, View convertView, ViewGroup parent) { 3 ChildHolder childHolder = null; 4 if(convertView == null){ 5 childHolder = new ChildHolder(); 6 convertView = View.inflate(mcontext, R.layout.item_chat, null); 7 childHolder.ProgressBar = (ProgressBar) convertView.findViewById(R.id.ProgressBar); 8 convertView.setTag(childHolder); 9 }else { 10 childHolder = (ChildHolder) convertView.getTag(); 11 } 12 // RecordObj 实体对象 13 RecordObj rd = mlist.get(position); 14 15 int total_count = 0; 16 for (int i = 0; i < mlist.size(); i++) { 17 int count = mlist.get(i).getCount(); 18 total_count += count; 19 } 20 DecimalFormat df1 = new DecimalFormat("0.0000"); 21 String str_percent = df1.format((float)rd.getCount() / total_count); 22 float percent =Float.parseFloat(str_percent) * 100; 23 DecimalFormat df2 = new DecimalFormat("0.00"); 24 String percents = df2.format(percent) + "%"; 25 int value = childHolder.ProgressBar.getProgress(); 26 if (value == 0) { 27 doProgress(percent , childHolder.ProgressBar); 28 } else { 29 childHolder.ProgressBar.setProgress((int)percent); 30 } 31 return convertView; 32 }