在最简单的自定义按钮的基础上,实现一个类似ToggleButton的功能。
点击一个按钮,就会有按下的效果,再点击会弹起。
主要是MyTextButton的实现中增加覆盖方法:
package com.easymorse.videodemo;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.Button;
public class MyTextButton extends Button {
private boolean checked;
public MyTextButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean performClick() {
this.checked = !this.checked;
return super.performClick();
}
@Override
protected int[] onCreateDrawableState(int extraSpace) {
if (!checked) {
return Button.PRESSED_ENABLED_SELECTED_STATE_SET;
} else {
return Button.EMPTY_STATE_SET;
}
}
}
源代码见:
http://easymorse.googlecode.com/svn/tags/video.demo-0.6.0/