package com.basic.security.widget; import android.content.Context; import android.graphics.Color; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.graphics.drawable.StateListDrawable; import android.util.AttributeSet; import android.view.View; import android.widget.Button; public class Button1 extends Button { public Button1(Context context) { super(context); } public Button1(Context context, AttributeSet attrs) { super(context, attrs); addClickEffect(this); } public Button1(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public Button1(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } void addClickEffect(View view) { Drawable drawableNormal = view.getBackground(); Drawable drawablePressed = view.getBackground().getConstantState().newDrawable(); drawablePressed.mutate(); drawablePressed.setColorFilter(Color.argb(50, 0, 0, 0), PorterDuff.Mode.SRC_ATOP); StateListDrawable listDrawable = new StateListDrawable(); listDrawable.addState(new int[]{android.R.attr.state_pressed}, drawablePressed); listDrawable.addState(new int[]{}, drawableNormal); view.setBackground(listDrawable); } }