android关闭触摸提示音,Android取消和开启View或则ViewGroup点击带有提示音 |
您所在的位置:网站首页 › 打开监听通道需要开启静音开关 › android关闭触摸提示音,Android取消和开启View或则ViewGroup点击带有提示音 |
前言 如果系统设置[声音]选项中关闭了[触摸提示音],则所有的View都没有提示音。 开启系统设置[触摸提示音]基础上,View或ViewGroup设置setOnTouchListener()或者setOnLongClickListener()都是没有提示音的。 开启系统设置[触摸提示音]基础上,View或ViewGroup只有设置setOnClickListener()监听,默认情况下(android:soundEffectsEnabled默认是为true的)时是由提示音的。 在2的前提下,修改View或ViewGroup的android:soundEffectsEnabled属性为false,就没有提示音。 小结一下 如果需要View或ViewGroup点击时有提示音,需要如下三步。 需要开启触摸提示音 android:soundEffectsEnabled属性为true 需要设置setOnClickListener()监听 提示音开启和设置 需要开启触摸提示音 开启这个有两种,一种就是系统设置[声音],然后开启[触摸提示音]。 另外一种时通过代码设置。 # 查询是是否有提示音 int enabled = Settings.System.getInt(getContentResolver(), Settings.System.SOUND_EFFECTS_ENABLED); /设置 0-关闭,1-打开 Settings.System.putInt(getContentResolver(), Settings.System.SOUND_EFFECTS_ENABLED, 0); 开启View或ViewGroup 设置或者不设置也行,默认都是置为true的,重点就是设置setOnClickListener()监听。 android:id="@+id/main_test_one" android:layout_width="match_parent" android:layout_height="200dp" android:soundEffectsEnabled="true" android:background="@android:color/holo_red_dark" /> 设置监听后,就有按键提示音了。 但是,如果你的View或ViewGroup中的android:soundEffectsEnabled="false"那就没有提示音。 findViewById(R.id.main_test_one).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); 音效是在AudioManager播放的 播放代码: framework/base/media/java/android/media/AudioManager.java public void playSoundEffect(int effectType) { if (effectType < 0 || effectType >= NUM_SOUND_EFFECTS) { return; } if (!querySoundEffectsEnabled()) { return; } IAudioService service = getService(); try { service.playSoundEffect(effectType); } catch (RemoteException e) { Log.e(TAG, "Dead object in playSoundEffect"+e); } } 参考文章 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |