修改android中的seekbar控件

场景:图片功能模块,亮度调节功能:需要一个seekbar控件来调节屏幕的亮度,用seekbar来控制。 首先修改android原始的seekbar控件,太磕碜。
首先在 drable文件夹下新建一个 XML文件 -- pic_seekbar_slot_style.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/pic_seekbar_dn" />
<!-- 显示调节槽的进度图  和调节槽的背景图形成对比 给人一种表示当前进度值的感觉-->
<item android:id="@+android:id/progress" android:drawable="@drawable/pic_seekbar_dn" />
</layer-list>
上面就建立了一个seekbar调节槽的背景图和进度图
再新建一个XML文件 ,pic_seekbar_thumb_style.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/pic_seekbar_thumb_dn" />

<!-- 滑块 获取 焦点状态 -->
<item android:state_focused="true"
android:drawable="@drawable/pic_seekbar_thumb_up" />

<!-- 默认状态 -->
<item android:drawable="@drawable/pic_seekbar_thumb_up" /> 

</selector>
上面就是建立了 调节槽上用来表示当前进度的滑块,这个滑块可以用来拖动,点击,分别用不同的图片去显示,当我们点击时就会显示上面定义的  按下状态  时定义的图片。
最后来应用上面定义的效果:
<SeekBar
android:id="@+id/picture_seekbar"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:max="100"
android:visibility="gone"
android:progressDrawable="@drawable/pic_seekbar_slot_style"  这里就应用上面定义的调节槽的效果
android:thumb="@drawable/pic_seekbar_thumb_style"  这里应用定义的滑块的效果
/>
这样我们就可以自定义的seekbar 控件,看起来就比较  cool !!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
AndroidSeekBar是一个用户界面控件,用于选择在给定范围内的数值。SeekBar通常用于调整音量、亮度、进度等。 以下是在Android使用SeekBar的基本步骤: 1. 在布局文件添加SeekBar控件: ```xml <SeekBar android:id="@+id/seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" android:progress="50" /> ``` 在上面的示例SeekBar的最大值设置为100,初始进度设置为50。 2. 在Activity或Fragment找到SeekBar控件: ```java SeekBar seekBar = findViewById(R.id.seekBar); ``` 3. 设置SeekBar的监听器,以便在进度改变时执行相应操作: ```java seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { // 进度改变时执行的操作 } @Override public void onStartTrackingTouch(SeekBar seekBar) { // 开始拖动SeekBar时执行的操作 } @Override public void onStopTrackingTouch(SeekBar seekBar) { // 停止拖动SeekBar时执行的操作 } }); ``` 在上面的示例,你可以根据需要在相应的方法执行自定义操作。 4. 可选:根据需要自定义SeekBar样式和外观。你可以使用SeekBar的属性来设置背景、滑块图标、进度条颜色等。 以上是使用SeekBar的基本步骤。你可以根据需要在监听器的方法执行自定义操作,例如根据进度改变显示文本或调整其他相关控件的属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值