用自定义Button实现ToggleButton

最简单的自定义按钮的基础上,实现一个类似ToggleButton的功能。

image

点击一个按钮,就会有按下的效果,再点击会弹起。

主要是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/

PDF格式創作    发送文章为PDF   

这篇文章上的评论的 RSS feed TrackBack URI

Leave a Reply