Lorem ipsum dolor sit amet, consectetur adipiscing elit. Test link

Skeuomorphism effect in Android

Skeuomorphism effect in Android


public class Skeuomorphism {
    public static void applyShadowAndPressedState(Button button) {
        float radius = 8f;
        float[] corners = { radius, radius, radius, radius, radius, radius, radius, radius };
        int fillColor = Color.parseColor("#D8D8D8");
        int strokeColor = Color.parseColor("#333333");
        float strokeSize = 1f;
        int shadowColor = Color.parseColor("#8C8C8C");
        float shadowSize = 4f;

        StateListDrawable stateListDrawable = new StateListDrawable();

        ShapeDrawable shapeDrawableNormal = new ShapeDrawable();
        shapeDrawableNormal.setShape(new RoundRectShape(corners, null, null));
        shapeDrawableNormal.getPaint().setColor(fillColor);
        shapeDrawableNormal.getPaint().setStyle(Paint.Style.FILL);
        shapeDrawableNormal.setStroke((int) strokeSize, strokeColor);

        ShapeDrawable shapeDrawablePressed = new ShapeDrawable();
        shapeDrawablePressed.setShape(new RoundRectShape(corners, null, null));
        shapeDrawablePressed.getPaint().setColor(fillColor);
        shapeDrawablePressed.getPaint().setStyle(Paint.Style.FILL);
        shapeDrawablePressed.setStroke((int) strokeSize, strokeColor);
        shapeDrawablePressed.getPaint().setShadowLayer(shadowSize, 0, 0, shadowColor);

        stateListDrawable.addState(new int[]{android.R.attr.state_pressed}, shapeDrawablePressed);
        stateListDrawable.addState(new int[]{}, shapeDrawableNormal);

        button.setBackground(stateListDrawable);
    }
}


        

Post a Comment