2
回答
用自定义Button实现ToggleButton
华为云实践训练营,热门技术免费实践!>>>   

原文转自: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/

举报
华宰
发帖于6年前 2回/2K+阅
顶部