Вот как это выглядит бесконтрольно:Как заставить SwitchCompat не менять цвета при проверке?
и проверил:
проверяется явно не соответствует конструкции, так как я могу сделать это выглядеть бесконтрольно, когда это проверено?
Вот как это выглядит бесконтрольно:Как заставить SwitchCompat не менять цвета при проверке?
и проверил:
проверяется явно не соответствует конструкции, так как я могу сделать это выглядеть бесконтрольно, когда это проверено?
Вы можете подкрасить его с тем же цветом, как для утверждения:
switchButton.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
isTouched = true;
switchButton.getThumbDrawable().setColorFilter(getResources().getColor(R.color.your_color), PorterDuff.Mode.SRC_IN);
return false;
}
});
switchButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (isTouched) {
isTouched = false;
if (isChecked) {
switchButton.getThumbDrawable().setColorFilter(getResources().getColor(R.color.your_color), PorterDuff.Mode.SRC_IN);
}
else {
switchButton.getThumbDrawable().setColorFilter(getResources().getColor(R.color.your_color), PorterDuff.Mode.SRC_IN);
}
}
}
});
Понял! Я должен был сделать некоторые исследования, как андроид считает, что темный цвет следа ...
switchview.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
switchview.getThumbDrawable().clearColorFilter();
int colorPrimaryDark = getResources().getColor(R.color.colorPrimaryDark);
int r = (colorPrimaryDark >> 16) & 0xFF;
int g = (colorPrimaryDark >> 8) & 0xFF;
int b = (colorPrimaryDark >> 0) & 0xFF;
r = (r - 30 < 0) ? 0 : r - 30;
g = (g - 30 < 0) ? 0 : g - 30;
b = (b - 30 < 0) ? 0 : b - 30;
int darker = Color.rgb(r, g, b);
switchview.getTrackDrawable().setColorFilter(darker, PorterDuff.Mode.SRC_IN);
}
});
Теперь проверяемых и непроверяемых будет точно такой же.
Правильный ответ +1 – sector11
switch'es track не фиксируется –
Непроверено, но попробуйте также добавить: switchButton.getTrackDrawable(). SetColorFilter (getResources(). GetColor (R.color.your_color), PorterDuff.Mode.SRC_IN); –
, но как я могу сделать это точно, так как он не установлен? Я не хочу, чтобы это было R.color.y our_color –