J'ai un problème avec le bouton bascule. J'essaie d'étendre ButtonRectangle de la bibliothèque navasmdc et je veux ajouter une image. Quelque chose comme ImageButton avec cet effet d'entraînement.Bouton android personnalisé avec l'image
J'ai essayé de mettre en arrière-plan drawable, mais il n'a pas l'effet que je veux.
J'ai essayé de faire mon propre bouton à bascule, mais c'est sur mes compétences avec cet effet d'entraînement.
Donc je demande. Est-il possible d'étendre la disposition et d'ajouter ImageView?
- Si oui, comment cela se passe-t-il?
Voici mon code, j'ai jusqu'à présent:
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;
}
}