2

カスタム画像ボタンを作成しました。1つは画像の再生ボタンで、もう1つは画像の一時停止ボタンです。

再生一時停止を切り替えたい(つまり、ユーザーがボタンをクリックすると、ボタンを変更する必要があります-再生して一時停止するか、一時停止して再生します)。

私の要件については、この例のURLを参照しました

プログラムを実行するとボタンを表示できますが、ボタンをクリックすると画像ボタンを変更できません(再生して一時停止します)

誰かが私を助けることができますか?

4

1 に答える 1

2

作業している例では、オンオフの2つの画像を使用しています。ただし、これら2つの画像を使用して、ボタンにフォーカスがあるかどうかに基づいてボタンの外観を変更します。

少し違うものが欲しい。ボタンがクリックされるたびにボタンの外観を変更したい。これを行うには、次の既存の方法を使用できます。

protected boolean navigationClick(int status, int time){
    fieldChangeNotify(1);
    return true;
}

これを行うには、再生ビットマップと一時停止ビットマップを格納するいくつかのメンバー変数を変更(または追加)してnavigationClick()から、それらを切り替えるように変更します。

private Bitmap _currentPicture;
private Bitmap _playPicture;
private Bitmap _pausePicture;

protected boolean navigationClick(int status, int time){
    if (_currentPicture == _playPicture) {
        _currentPicture = _pausePicture;
    } else {
        _currentPicture = _playPicture;
    }
    invalidate();  // may be necessary to force redraw of the button

    fieldChangeNotify(1);
    return true;
}

編集:また、トラックホイールを使用してボタンをクリックできるか、キーを入力するかによって、メソッドとメソッドで同じロジック(上記と同じnavigationClick())を実行することもできます。 ここでその例を参照してくださいtrackwheelClick()keyChar()

于 2012-09-15T05:11:32.797 に答える