Я хочу использовать этот Жидкостный слайдер в моем приложении для Android, и я хочу 5 из них
если я добавлю разных слушателей для всех 5, тогда код станет очень большим. Пожалуйста, посмотрите и посмотрите, могут ли несколько ползунков использовать только один метод setPositionListner, используя регистр переключателя или любым другим способом.
Ниже приведен код для одного ползунка жидкости. Первые 2 метода используются, чтобы скрыть текст позади и снова показать его, а последний используется, чтобы найти текущую позицию ползунка.
public class MainActivity extends AppCompatActivity {
@SuppressWarnings("Convert2Lambda")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView textView = findViewById(R.id.textView);
final int max = 45;
final int min = 10;
final int total = max - min;
final FluidSlider slider = findViewById(R.id.fluidSlider);
slider.setBeginTrackingListener(new Function0<Unit>() {
@Override
public Unit invoke() {
textView.setVisibility(View.INVISIBLE);
return Unit.INSTANCE;
}
});
slider.setEndTrackingListener(new Function0<Unit>() {
@Override
public Unit invoke() {
textView.setVisibility(View.VISIBLE);
return Unit.INSTANCE;
}
});
// Java 8 lambda
slider.setPositionListener(pos -> {
final String value = String.valueOf( (int)(min + total * pos) );
slider.setBubbleText(value);
return Unit.INSTANCE;
});
slider.setPosition(0.3f);
slider.setStartText(String.valueOf(min));
slider.setEndText(String.valueOf(max));
}
}