我创建了一个自定义图像按钮;一个是播放图像按钮,一个是暂停图像按钮。
我想在播放和暂停之间切换(即当用户点击按钮时,它必须改变 - 播放暂停或暂停播放)。
对于我的要求,我参考了这个示例 url
当我执行我的程序时,我能够显示按钮,但是当我单击按钮时,我无法更改图像按钮(播放暂停)
谁能帮我?
我创建了一个自定义图像按钮;一个是播放图像按钮,一个是暂停图像按钮。
我想在播放和暂停之间切换(即当用户点击按钮时,它必须改变 - 播放暂停或暂停播放)。
对于我的要求,我参考了这个示例 url
当我执行我的程序时,我能够显示按钮,但是当我单击按钮时,我无法更改图像按钮(播放暂停)
谁能帮我?
您正在处理的示例使用两个图像,打开和关闭图像。但是,它使用这两个图像来根据按钮是否具有焦点来更改按钮的外观。
你想要一些不同的东西。每当单击按钮时,您都希望更改按钮的外观。为此,您可以使用此现有方法:
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;
}
编辑:您可能还希望在and方法中执行相同的逻辑(如上面的navigationClick()
),这取决于您的按钮是否应该可以通过使用拨轮或输入键 来单击。在此处查看示例trackwheelClick()
keyChar()