`
pan_这名还行
  • 浏览: 42656 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

android自定义按钮按下效果

阅读更多
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;

public class HCButton extends RelativeLayout{

	private Button mButton;
	private ImageView mImage;
 
	public HCButton(Context context, AttributeSet attrs){
	    super(context,attrs);   
	    mButton = new Button(context, attrs);
	    mImage = new ImageView(context);
	    setBackgroundDrawable(null);
	    
	    OnTouchListener onTouchListener = new OnTouchListener() {		
			public boolean onTouch(View arg0, MotionEvent arg1) {
				// TODO Auto-generated method stub
				if(arg1.getAction() == MotionEvent.ACTION_DOWN){ 
				    mImage.setLayoutParams(new LayoutParams(mButton.getWidth(),mButton.getHeight()));
				    mImage.setBackgroundColor(Color.BLACK);
				    mImage.getBackground().setAlpha(100);
                }else if(arg1.getAction() == MotionEvent.ACTION_UP){  
				    mImage.setBackgroundColor(Color.TRANSPARENT);
                }
				return false;
			}
		};
		
		mImage.setClickable(false);
		mButton.setClickable(false);
		setOnTouchListener(onTouchListener);	    

	    addView(mButton);
	    addView(mImage); 
	}

	public void changeBg(int resid){
		mButton.setBackgroundResource(resid);
	}
	
	public void changeValue(String val){
		mButton.setText(val);
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics