SeekBar 显示进度条颜色却不显示背景颜色的问题

SeekBar配置文件:

<SeekBar   
         android:id="@+id/player_seekbar"  
         android:layout_width="245px"  
         android:layout_height="25px"  
         android:progressDrawable="@drawable/seekbar_style"  
         android:thumb="@drawable/thumb"  
         android:paddingLeft="16px"  
         android:paddingRight="15px"  
         android:paddingTop="5px"  
         android:paddingBottom="5px"  
         android:progress="0"  
         android:max="0"  
         android:secondaryProgress="0"  
         /> 
<SeekBar 
       android:id="@+id/player_seekbar"
       android:layout_width="245px"
       android:layout_height="25px"
       android:progressDrawable="@drawable/seekbar_style"
       android:thumb="@drawable/thumb"
       android:paddingLeft="16px"
       android:paddingRight="15px"
       android:paddingTop="5px"
          android:paddingBottom="5px"
          android:progress="0"
          android:max="0"
          android:secondaryProgress="0"
          />

android:progressDrawable="@drawable/seekbar_style"背景条

seekbar_style配置如下:

<?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>  
             <corners android:radius="5dip" />  
             <gradient  
                     android:startColor="#ff9d9e9d"  
                     android:centerColor="#ff5a5d5a"  
                     android:centerY="0.75"  
                     android:endColor="#ff747674"  
                     android:angle="270"  
             />  
         </shape>  
     </item>  
  
     <item android:id="@android:id/secondaryProgress">  
         <clip>  
             <shape>  
                 <corners android:radius="5dip" />  
                 <gradient  
                         android:startColor="#80ffd300"  
                         android:centerColor="#80ffb600"  
                         android:centerY="0.75"  
                         android:endColor="#a0ffcb00"  
                         android:angle="270"  
                 />  
             </shape>  
         </clip>  
     </item>  
  
     <item android:id="@android:id/progress">  
         <clip>  
             <shape>  
                 <corners android:radius="5dip" />  
                 <gradient  
                         android:startColor="#ff0099CC"  
                         android:centerColor="#ff3399CC"  
                         android:centerY="0.75"  
                         android:endColor="#ff6699CC"  
                         android:angle="270"  
                 />  
             </shape>  
         </clip>  
     </item>  
  
</layer-list>  

<?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>
             <corners android:radius="5dip" />
             <gradient
                     android:startColor="#ff9d9e9d"
                     android:centerColor="#ff5a5d5a"
                     android:centerY="0.75"
                     android:endColor="#ff747674"
                     android:angle="270"
             />
         </shape>
     </item>

     <item android:id="@android:id/secondaryProgress">
         <clip>
             <shape>
                 <corners android:radius="5dip" />
                 <gradient
                         android:startColor="#80ffd300"
                         android:centerColor="#80ffb600"
                         android:centerY="0.75"
                         android:endColor="#a0ffcb00"
                         android:angle="270"
                 />
             </shape>
         </clip>
     </item>

     <item android:id="@android:id/progress">
         <clip>
             <shape>
                 <corners android:radius="5dip" />
                 <gradient
                         android:startColor="#ff0099CC"
                         android:centerColor="#ff3399CC"
                         android:centerY="0.75"
                         android:endColor="#ff6699CC"
                         android:angle="270"
                 />
             </shape>
         </clip>
     </item>

 </layer-list>
或者:用图片如下:

<?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/progress_bg" />  
        
    <item android:id="@android:id/secondaryProgress"  
          android:drawable="@drawable/second_progress">  
    </item>      
       
    <item android:id="@android:id/progress"  
          android:drawable="@drawable/first_progress">  
           
    </item>   
</layer-list> 

方形

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 

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

    <item android:id="@android:id/secondaryProgress"> 
     <clip android:drawable="@drawable/second_progress" /> 
    </item> 

    <item android:id="@android:id/progress"> 
         <clip android:drawable="@drawable/first_progress" /> 
    </item> 

</layer-list>

android:thumb="@drawable/thumb"就是那个会动的球

配置如下:

<?xml version="1.0" encoding="UTF-8"?>  
<selector xmlns:android="http://schemas.android.com/apk/res/android">        
       
    <!-- 按下状态-->  
    <item   
        android:state_focused="true"   
        android:state_pressed="true"   
        android:drawable="@drawable/thumb_pressed" />        
    <!-- 普通无焦点状态 -->  
    <item   
        android:state_focused="false"   
        android:state_pressed="false"  
        android:drawable="@drawable/thumb_normal" />              
    <!-- 有焦点状态-->  
    <item   
        android:state_focused="true"   
        android:state_pressed="false"              
        android:drawable="@drawable/thumb_focused" />         
    <!-- 有焦点 -->  
    <item   
        android:state_focused="true"              
        android:drawable="@drawable/thumb_focused" />     
</selector>

使用9patch图时的用法:

<?xml version="1.0" encoding="UTF-8"?>  
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >  
    <!-- 背景项 -->  
    <item android:id="@android:id/background">  
        <!-- 背景图 :这里使用9文件,因此这么配置,  
        如果使用的是普通图片可直接使用<drawable />标签,或者使用<shape />标签,自定义图形 -->  
        <nine-patch android:src="@drawable/skin_bg" />  
    </item>  
    <!-- 进度图 -->  
    <item android:id="@android:id/progress">  
     <clip >  
            <nine-patch android:src="@drawable/skin_bg2" />  
     </clip>  
     </item>  
</layer-list> 


我做项目中遇到的问题时,不管时设置drawable,还是9patch图片,或者时shape,seekbar拖动时总是不现实背景,很郁闷,后来发现是因为进度条和第二进度条在xml文件中设置时没有clip的缘故。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值