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);
|
}
|
}
|