SeekBar自定义(颜色,大小,图片)

本文详细介绍了如何通过XML布局文件自定义SeekBar控件的样式,包括背景色、拖动按钮样式以及进度变化时的颜色变化。通过提供两个实例,展示了如何使用属性和XML资源来定制SeekBar的外观和行为,从而实现个性化进度条效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要实现下面图的效果 

 

 

import android.os.Bundle;

/**
 * Seekbar 自定义 
 * 颜色
 * @author Andy
 *
 */
public class TestSeekBar extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  this.setContentView(R.layout.main);
 }
 
 

}

 

 

方法一:

-----------------------

 main.xml

 

<SeekBar android:id="@android:id/progress"  
        style="?android:attr/progressBarStyleHorizontal"  
        android:layout_width="fill_parent"  
        android:layout_height="23dip"  
        android:paddingLeft="25dip"  
        android:paddingRight="25dip"  
        android:paddingBottom="4dip"

       android:progressDrawable="@drawable/seekbar_style"     
        android:thumb="@drawable/thumb"   /> 

 

---------------------------------------

   <!-- 拖动按钮   thumb.xml-->   

 

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

 

 

----------------------------------------------

  <!-- seekbar 图形  seekbar_style.xml -->   

 

<?xml version="1.0" encoding="UTF-8"?>     
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">     
    <!-- SEEKBAR背景底部的颜色 -->
   <item android:id="@android:id/background">     
      <shape>     
         <corners android:radius="10dip" />     
         <gradient     
             android:startColor="#ffffffff"  
             android:centerColor="#ff000000"     
             android:endColor="#ff808A87"    
             android:centerY="0.45"     
             android:angle="270"/>     
      </shape>     
   </item>     
        <!-- 拖动后的颜色 -->
   <item android:id="@android:id/progress">     
       <clip>     
          <shape>     
              <corners android:radius="10dip" />     
              <gradient     
                  android:startColor="#ffffffff"  
                  android:centerColor="#ffFFFF00"     
                  android:endColor="#ffAABD00"    
                  android:centerY="0.45"     
                  android:angle="270"/>     
          </shape>     
       </clip>     
   </item>     
 </layer-list>  

 

 方法二:

 

 直接定义图片:

 

<!-- 自定义图片方式 main.xml-->
<SeekBar
    android:id="@+id/seekbar"
    
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:max="20"
    android:progress="0"
    android:secondaryProgress="0"
    android:paddingLeft="32px"
    android:paddingRight="32px"
    android:progressDrawable="@drawable/seekbar_img"
    android:thumb="@drawable/thumb"
    />

-------------------------------------------------------------

<!-- seekbar 图形   seekbar_img.xml -->   

 

<?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/seekbar_bg" />
    <!--全部能量图  -->
  <item
    android:id="@+android:id/SecondaryProgress"
    android:drawable="@drawable/seekbar_rawbcon" />
    <!-- 进和能量图 -->
  <item
    android:id="@+android:id/progress"
    android:drawable="@drawable/progress_cookedbacon" />
</layer-list>

 

 ----------------------------------

  <!-- 拖动按钮  thumb.xml-->   

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值