现在的位置: 首页 > 综合 > 正文

ProgressBar自定义样式中的层叠图片显示问题

2013年09月08日 ⁄ 综合 ⁄ 共 2373字 ⁄ 字号 评论关闭

android系统自带的那个progressbar比较戳,开发都会重新定义。

先看下效果:

肿么杨啊,比系统的好看多了吧

progressbar:

[html] view
plain
copy

  1. <ProgressBar  
  2.             android:id="@+id/downloadbar"     
  3.             android:layout_width="fill_parent"  
  4.             android:layout_height="10dip"  
  5.             style="?android:attr/progressBarStyleHorizontal"  
  6.             android:progressDrawable="@drawable/progressbar_layer_list"  
  7.             android:background="@drawable/progressbar_box"  
  8.         />       


其中的progressbar_layer_list

[html] view
plain
copy

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <layer-list xmlns:android="http://schemas.android.com/apk/res/android">  
  3.     <item android:id="@android:id/background">  
  4.         <clip>  
  5.             <shape>  
  6.                 <corners android:radius="15dip" />  
  7.                 <gradient android:startColor="#00b7ee" android:endColor="#0075a9" android:angle="270" android:centerY="0.75"/>  
  8.             </shape>  
  9.         </clip>  
  10.     </item>  
  11.     <item android:id="@android:id/secondaryProgress">  
  12.         <clip>  
  13.             <shape>  
  14.                 <corners android:radius="15dip" />  
  15.                 <gradient android:startColor="#00b7ee" android:endColor="#0075a9" android:angle="270" android:centerY="0.75"/>  
  16.             </shape>  
  17.         </clip>  
  18.     </item>  
  19.       
  20.     <item android:id="@android:id/progress">  
  21.         <clip>  
  22.             <shape>  
  23.                 <gradient android:startColor="#00b7ee" android:endColor="#0075a9" android:angle="270" android:centerY="0.25"/>  
  24.                 <corners android:radius="15dip"/>  
  25.             </shape>  
  26.         </clip>  
  27.     </item>  
  28. </layer-list>  

background图片:

如果需要图片作为背景的话:

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

    <item
        android:id="@android:id/background"
        android:drawable="@drawable/loading_bg"/>

    <item
        android:id="@android:id/progress">
          <clip
            android:clipOrientation="horizontal"
            android:drawable="@drawable/loading_line"
            android:gravity="left" >
        </clip>
    </item>

    <!-- <item android:id="@android:id/progress"> -->
    <!-- <clip > -->
    <!-- <shape > -->
    <!-- <corners android:radius="8dip" /> -->
    <!-- <gradient -->
    <!-- android:angle="270" -->
    <!-- android:endColor="#111111" -->
    <!-- android:startColor="#FFFFFF" /> -->
    <!-- </shape> -->
    <!-- </clip> -->
    <!-- </item> -->

</layer-list>

这里注意,名字必须按照  “@android:id/backgroud”  “@android:id/secondaryProgress”  “@android:id/progress”三种形式来写;

这样就可以自动的增加进度条量了。c

clip 这个属性需要加上,否则显示会不正常。

抱歉!评论已关闭.