当前位置: 首页 > news >正文

Android 开发 调节声音 SeekBar自定义样式

  • 效果图
    在这里插入图片描述

  • xml布局 @mipmap/seekbar图片随意一张图都可以,这里我的图就不贴出来了

				 <SeekBarandroid:id="@+id/seekBar"android:layout_marginLeft="8dp"android:layout_width="377dp"android:layout_height="8dp"android:layout_gravity="center"android:layout_centerHorizontal="true"android:progressDrawable="@drawable/seek_bar_voice_bg"android:thumb="@mipmap/seekbar" />
  • seek_bar_voice_bg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-listxmlns:android="http://schemas.android.com/apk/res/android"><item android:id="@android:id/background"><shape><corners android:radius="5dip" /><solid android:color="#D4E3F4" /></shape></item><item android:id="@android:id/secondaryProgress"><clip><shape><solid android:color="#D4E3F4" /></shape></clip></item><item android:id="@android:id/progress"><clip><shape><corners android:radius="5dip" /><solid android:color="#0A68F5" /></shape></clip></item>
</layer-list>
  • 逻辑实现
 SeekBar seekBar=findViewById(R.id.seekBar);AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);//获取系统最大音量int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);seekBar.setMax(maxVolume);//获取当前音量int currentVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);seekBar.setProgress(currentVolume);seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {//滑动时候调用if(fromUser){//设置系统音量am.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);int currentVolume = am.getStreamVolume(AudioManager.STREAM_MUSIC);seekBar.setProgress(currentVolume);}}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {//摁下的时候调用}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {//松开的时候调用}});
http://www.lryc.cn/news/472832.html

相关文章:

  • UART-通用异步收发器
  • Linux——— 信号
  • 安全见闻-web安全
  • 华为手机卸载系统应用的方法
  • 力扣算法笔记——生成随机数组
  • Anaconda和Pycharm超详细安装教程(2024版本+Win11)
  • 代码随想录:从中后/中前遍历序列构造二叉树
  • 2-134 基于matlab的图像边缘检测
  • 【Java并发编程】线程池详解
  • ThingsBoard规则链节点:GPS Geofencing Events节点详解
  • Jmeter基础篇(19)JSR223预处理器
  • 通过js控制css变量
  • Docker:容器化和虚拟化
  • OpenSSL
  • CSS 常见选择器
  • Linux使用Dockerfile部署Tomcat以及jdk
  • LC20. 有效的括号
  • 基于springboot企业微信SCRM管理系统源码带本地搭建教程
  • 【MTMSA】不确定缺失模态下基于情态翻译的多模态情感分析
  • 【php常用公共函数】php获取指定时间段中有那几年并输出年份的起始时间和结束时间
  • CTF-PWN: 什么是_IO_FILE?
  • 前端八股文第二篇
  • springboot汽车保修服务管理系统-计算机毕业设计源码00052
  • 分布式架构搭建博客网站
  • python-opencv给图片或视频去水印
  • 免费送源码:Java+ssm+Springboot Springboot手办定制销售系统 计算机毕业设计原创定制
  • 卡夫卡的使用
  • mac|maven项目在idea中连接redis
  • Python基础学习------第一天
  • MySQL的SQL语句之触发器和存储过程的应用