我在先前的案例《Android 的底部导航栏 BottomNavigationBar》中添加以底部

的4个按钮切换添加声音

下来看看案例效果图

使用添加依赖

compile 'com.ashokvarma.android:bottom-navigation-bar:1.3.0'

方式1:

private void PlayMusic(int MusicId) {
music = MediaPlayer.create(this, MusicId);
music.start();
}

方式2:

 @SuppressLint("NewApi")
private void initSound() {
soundPool = new SoundPool.Builder().build();
soundID = soundPool.load(this, R.raw.qipao, 1);
}
private void playSound() {
soundPool.play(
soundID,
0.9f, //左耳道音量【0~1】
0.9f, //右耳道音量【0~1】
0, //播放优先级【0表示最低优先级】
0, //循环模式【0表示循环一次,-1表示一直循环,其他表示数字+1表示当前数字对应的循环次数】
1 //播放速度【1是正常,范围从0~2】
);
}

使用只需在mBottomNavigationBar的onTabSelected方法中调用:

 mBottomNavigationBar.setTabSelectedListener(new BottomNavigationBar.OnTabSelectedListener(){

            @Override
public void onTabSelected(int position) {
//PlayMusic(R.raw.qipao);//方式1
playSound();//方式二
showFragment(position);
} @Override
public void onTabUnselected(int position) { } @Override
public void onTabReselected(int position) { }
});

源码传送门

最新文章

  1. 1、NoSQL概述
  2. Struts2学习笔记--使用Response下载文件和Struts2的StreamResult文件下载
  3. Web端PHP代码函数覆盖率测试解决方案
  4. 多线程处理中Future的妙用
  5. 利用SQL语句产生分组序号
  6. Java环境的配置
  7. 如何在office2007中插入MathType教学
  8. Lambda(Linq)
  9. SharePoint Online Add-in 开发简介
  10. 查看提交历史(git log)
  11. oracle参数MEMORY_TARGET太小无法启动的解决过程
  12. centos7.4中安装docker
  13. oracle数据库组件列表及相关的数据字典视图
  14. (转)解决类似 /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found 的问题
  15. [C++ Primer] : 第13章: 拷贝控制
  16. html如何设置打印样式?
  17. postman—集成到jenkins
  18. 二路归并排序java实现
  19. css---选择器的特殊性
  20. python生成器详解

热门文章

  1. postgresql----数据库表约束----UNIQUE
  2. 删除Linux的用户
  3. Java中的文件和流相关知识
  4. Integer.valueof 和 Integer.parseInt
  5. mysql 删除表
  6. mysql 数据操作 多表查询 子查询 带EXISTS关键字的子查询
  7. WebDriver API 实例详解(二)
  8. vue开发笔记
  9. 在Mybatis中使用连表查询的一次实际应用
  10. mongoose 获取某个存在的collecion 里的数据