У меня проблема с кнопкой переключения. Я пытаюсь расширить ButtonRectangle из библиотеки navasmdc, и я хочу добавить изображение. Что-то вроде ImageButton с эффектом пульсации.Пользовательская кнопка андроида с изображением
Я попытался установить фоновый рисунок, но он не имеет эффекта, который я хочу.
Я попытался сделать свою собственную кнопку переключения, но это зависит от моих навыков с эффектом пульсации.
Так что я прошу.
- Возможно ли расширить макет и добавить ImageView?
- Если да, то как это делается?
Вот мой код, я до сих пор:
public class StyleableToggleButton extends ButtonRectangle implements StyleableView, Checkable {
private boolean checked = false;
private int primaryColor = Config.DEFAULT_PRIMARY_COLOR;
private int secondaryColor = Config.DEFAULT_SECONDARY_COLOR;
private float rippleSpeed = 18f;
public StyleableToggleButton(Context context, AttributeSet attrs) {
super(context, attrs);
applyStyle();
setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
toggle();
applyStyle();
}
});
setRippleSpeed(rippleSpeed);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
setBackgroundDrawable(getResources().getDrawable(R.drawable.direction_in_w));
}
}
@Override
public void setChecked(boolean b) {
checked = b;
applyStyle();
}
@Override
public boolean isChecked() {
return checked;
}
@Override
public void toggle() {
checked = !checked;
applyStyle();
}
@Override
public void applyStyle() {
if (checked){
this.setBackgroundColor(primaryColor);
}else {
this.setBackgroundColor(secondaryColor);
}
}
@Override
protected int makePressColor(){
return !checked ? primaryColor : secondaryColor;
}
}