0

我的问题如下:我想在用户单击静音/取消静音按钮时识别(keyevent),从而更改切换按钮的状态。

一张图片可以更好地理解:https ://lh6.googleusercontent.com/-yHjyvtCiyac/Ul6uQz_Ga2I/AAAAAAAAAiY/Ug06zyq7_Vg/w619-h81-no/volumebar.jpg

这是怎么做的?

谢谢。

对不起我的英语不好。我使用谷歌翻译来做到这一点>.<


更新:XML 文件中的静音/取消静音按钮:

<ToggleButton 
android:id="@+id/toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/audiobtn"
android:textOn="" 
android:textOff="" />

最后更新:使用 BroadcastReceiver 类解决了问题。谢谢您的帮助!

4

1 回答 1

0

对于切换按钮

在切换按钮 xml 中添加这一行

android:onClick="onToggleClicked"

现在在您的活动类中将此侦听器设置为

public void onToggleClicked(View view) {
    // Is the toggle on?
    boolean on = ((ToggleButton) view).isChecked();

    if (on) {
        // set image for on state 
    } else {
      // set image for off state 
    }
}

可以在此处找到有关切换按钮的更多信息

对于简单的按钮

第 1 步在您的按钮上创建对象 Button muteBtn=(Button)findViewById(R.id.mute_btn);

第 2 步创建此按钮的单击侦听器,并使用存储其状态的布尔值将其更改为按下/非按下状态,如下所示。

boolean muteBtnSelection;

muteBtn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (muteBtnSelection) {

                muteBtnSelection=false;

                // set yout image for  mutebtn_pressed
                muteBtn.setBackground(R.drawable.mutebtn_pressed);

            } else {
                muteBtnSelection=true;

                // set yout image for  mutebtn_not_pressed
                muteBtn.setBackground(R.drawable.mutebtn_not_pressed);

            }



        }
    });

通过这种方式,您可以在按下和非按下状态之间切换。

于 2013-10-16T15:46:19.267 回答