用自定义Button实现ToggleButton

华宰 发布于 2011/09/07 12:33
阅读 2K+
收藏 1

原文转自:http://marshal.easymorse.com/archives/3045

最简单的自定义按钮的基础上,实现一个类似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/

加载中
0
俞融斌
俞融斌
学习,现在正好也需要这个功能。谢谢
0
1
1142939032
非常感谢。。。
返回顶部
顶部