如何禁用所有我的应用程序或活动的默认声音效果
在我的应用程序中,我使用声音池作为button单击audio效果。 问题是,如果在设备的设置中select了“Audible selection”,那么我的button将会产生两个声音:系统一和我的一个在同一时间。
似乎如果在每个button属性中将“Sound Effects Enabled”设置为false,则系统声音不再被听到。 但是我在十几个活动中有许多button,另外我在代码中添加了一个buttonmatrix,所以将“启用声音效果”设置为手动设置为每个button都是非常不方便的。 不知道我是如何做到这一点的代码..
是否有更全面的方法来阻止我的应用程序中的“Audible selection”选项,或者至less是针对这一项活动?
创build一个主题文件“res / values / styles.xml”
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="AppBaseTheme" parent="android:Theme.Black.NoTitleBar"> <!-- Theme customizations available in newer API levels can go in res/values-vXX/styles.xml, while customizations related to backward-compatibility can go here. --> </style> <!-- Application theme. --> <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:soundEffectsEnabled">false</item> </style> </resources>
然后在你的“AndroidManifest.xml”中引用它
<application ... android:theme="@style/AppTheme" >
我刚刚对我的应用程序有同样的问题。 我可以通过在主题中添加android:soundEffectsEnabled=false
来全局closures声音反馈。
你可以创build你自己的Button类,并在XML布局文件中使用它…
package com.mycompany.myApp public class MyButton extends Button { public MyButton (Context context, AttributeSet attrs) { this.setSoundEffectsEnabled(false); } }
然后在XML布局文件中使用…
<com.mycompany.myApp.MyButton ... </com.mycompany.myApp.MyButton>
…为你的button。
您可以创build一个自定义视图,该视图从Button延伸。 然后,只需将Sound Effect Enabled设置为false即可。
http://developer.android.com/guide/topics/ui/custom-components.html
您也可以走得更远,让视图知道应该播放哪个新的自定义声音。
- 下载/caching谷歌地图离线使用
- 如何使用ViewPager将Google Maps V2放在片段上
- 当Android应用程序closures/发送到后台时运行代码
- 由于V / GoogleSignatureVerifier,Android应用程序崩溃:签名无效
- Android Studio渲染问题:无法find以下类
- Android LocationClient类已弃用,但在文档中使用
- 错误的行结尾:find回车符(\ r)而没有对应的换行符(\ n)
- 在layout / main.xml主布局文件中的TextView中设置textColor不引用colors.xml文件。 (它想要#RRGGBB而不是@ color / text_color)
- 当应用程序从多任务托盘停止时,Android应用程序未收到Firebase通知