anroid seekbar 自定义风格

本文详细介绍了在Android应用中使用SeekBar时如何通过颜色和图片实现自定义样式,包括颜色实现、图片实现方法及XML文件配置示例,并提供源代码下载。

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

     在使用seekbar的时候,需要实现OnSeekBarChangeListener的下面三个接口

	@Override
	public void onProgressChanged(SeekBar seekBar, int progress,
			boolean fromUser) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void onStartTrackingTouch(SeekBar seekBar) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void onStopTrackingTouch(SeekBar seekBar) {
		// TODO Auto-generated method stub
		
	}


每个接口都是干什么的,这个不多说,字面上可以理解;

原始的seekbar有点难看,一般在应用中我们要使用自定义画面的seekbar

有两种方法,区别在于进度条的实现

  1. 颜色实现
  2. 图片实现

1. 颜色实现方式

        在/res/drawable/目录下定义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">
        <shape>
            <solid android:color="#ff51495e"/>
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
            	<solid android:color="#ffeb3305"/>
        	</shape>    
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
            	<solid android:color="#ff200be1"/>
        	</shape>
        </clip>
    </item>
</layer-list>

效果如下

2. 图片方式实现

      同样在/res/drawable/目录下定义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/bak">
    </item>
    <item android:id="@android:id/progress">
        <scale android:drawable="@drawable/front" android:scaleWidth="100%"/>
    </item>
</layer-list>


效果

 

ps: layer-list的item按照从下往上的顺序叠加;

对于上层color实现要使用clip;图片实现方式要使用scale,否则会覆盖下层layer;

对于图片实现用到了android的.9.png进行拉伸;

 

附源代码下载:

http://download.youkuaiyun.com/detail/zmscs/8496615

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值