1

我想按下一个按钮,它会改变按钮的颜色并播放声音,然后等待时间(t)然后再次改变按钮的颜色。

    button1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void OnClick(View v) {
    button1.setImageResource(R.drawable.yellow_block); /* Changes Color */
    sp.play(sound,1,1,0,0,1); /*Plays sound*/
    //Wait t amount of time here
    button1.setImageResource(R.drawable.green_block); /* Changes Color Again */
4

1 回答 1

2

你可以使用postDelayed()这样的方法

button1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void OnClick(View v) {
        button1.setImageResource(R.drawable.yellow_block); /* Changes Color */
        sp.play(sound,1,1,0,0,1); /*Plays sound*/
        //Wait t amount of time here
        button1.postDelayed(new Runnable() {
            public void run() {
                //Do what you want
                button1.setImageResource(R.drawable.green_block); /* Changes Color Again */
            }
        },3*1000 /* This would be the milisecond you want to wait */);
    }
}

如果您也想停止音乐,您可能需要稍微更改我的代码。

于 2012-12-30T16:48:54.210 回答