class MyButton extends View { public MyButton(Context context) { super(context); } // 以下这个方法也可以把你的图片数组传过来,以StateListDrawable来设置图片状态,来表现button的各中状态。未选 // 中,按下,选中效果。 public StateListDrawable setbg(Integer[] mImageIds) { StateListDrawable bg = new StateListDrawable(); Drawable normal = this.getResources().getDrawable(mImageIds[0]); Drawable selected = this.getResources().getDrawable(mImageIds[1]); Drawable pressed = this.getResources().getDrawable(mImageIds[2]); bg.addState(View.PRESSED_ENABLED_STATE_SET, pressed); bg.addState(View.ENABLED_FOCUSED_STATE_SET, selected); bg.addState(View.ENABLED_STATE_SET, normal); bg.addState(View.FOCUSED_STATE_SET, selected); bg.addState(View.EMPTY_STATE_SET, normal); return bg; } } Integer[] mButtonState = { R.drawable.defaultbutton, R.drawable.focusedpressed, R.drawable.pressed }; Button mButton = (Button) findViewById(R.id.button); MyButton myButton = new MyButton(this); mButton.setBackgroundDrawable(myButton.setbg(mButtonState));
在代码中动态设置selector
最新推荐文章于 2023-11-26 20:42:31 发布
本文介绍了一种使用Android自定义视图实现按钮不同状态的方法。通过StateListDrawable可以根据按钮的不同状态(如按下、选中等)显示不同的背景图片,从而增强用户体验。
751

被折叠的 条评论
为什么被折叠?



