很久发博客了,发个最近写的一个方法吧。

/**
	 * 设定按钮动作
	 * @param normal
	 * @param press
	 * @param btn
	 */
	private StateListDrawable getPressableDrawable(Context context, Drawable normal, Drawable pressed){
		MyView myButton = new MyView(context);
		return myButton.getBackground(normal, pressed);
	}
	
	private class MyView extends View{
		public MyView(Context context) {
			super(context);
		}
		
		public StateListDrawable getBackground(Drawable normal, Drawable pressed) {
            StateListDrawable stateListDrawable = new StateListDrawable();
            stateListDrawable.addState(View.PRESSED_ENABLED_STATE_SET, pressed);
            stateListDrawable.addState(View.ENABLED_FOCUSED_STATE_SET, pressed);
            stateListDrawable.addState(View.ENABLED_STATE_SET, normal);
            stateListDrawable.addState(View.FOCUSED_STATE_SET, pressed);
            stateListDrawable.addState(View.EMPTY_STATE_SET, normal);
            return stateListDrawable;
        }
	}

 设置imageView按下效果的方法。

你可能感兴趣的:(博客)