自定义进度条,不显示进度

时间:2014-04-14 12:51:21

标签: android xml progress-bar customization

在我的应用程序中,我正在插入自定义进度条。 问题是没有显示进度。在代码中我调用setProgress时,条形图保留背景颜色。而在布局设置setProgress中是否正常显示。 在插入自定义工具栏之前,它完美地运行了

以下是一些代码:

抽拉/ customprogressbar.xml

<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Define the background properties like color etc -->
    <item android:id="@android:id/background">
    <shape>
        <corners
           android:radius="5dip" />
        <gradient
                android:startColor="#5c5c5b"
                android:endColor="#9d9d9c"
                android:centerY="1"
                android:angle="270"
        />
    </shape>
   </item>


  <!-- Define the progress properties like start color, end color etc -->
  <item android:id="@android:id/progress">
    <clip>
        <shape>
            <corners
              android:radius="5dip" />
            <gradient
                android:startColor="#85040b"
                android:endColor="#e30613"
                android:centerY="1"
                android:angle="270"
            />
        </shape>
    </clip>
    </item>
</layer-list> 

我看到进度条的布局

 <ProgressBar
        android:id="@+id/progressBar1"
        style="@android:style/Widget.ProgressBar.Horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true"
        android:max="100"
        android:progress="50"
        android:layout_alignTop="@+id/map"
        android:progressDrawable="@drawable/customprogressbar"
        android:visibility="visible" />

在代码中我打电话

progresbar.setProgress(progress); 

设置进度

2 个答案:

答案 0 :(得分:0)

我发现了错误。代码是正确的。但我打电话给#34; setProgress&#34;在&#34; if-else&#34;只在if状态。 这是正确的代码(关于asynctask的进度更新

 if(i[3]==1){
                SetMarker(coordOggetto, i[0] , tipo, nome, indirizzo);}
                 progresbar.setProgress(i[1]);
                tv_completamento.setText(i[1]+"%");
            }

感谢所有人的评论

答案 1 :(得分:0)

这是ProgressBar

中的错误
progressBarHandler.post(new Runnable() {

      public void run() {
          bar.setProgress(progress);
      }
});

可以解决你的问题