Одиночный прокручиваемый селектор
allprojects {
repositories {
google()
jcenter()
maven { url 'https://www.jitpack.io' }
}
}
implementation 'com.github.YangsBryant:DSelectorBryant:1.0.3'
public class MainActivity extends AppCompatActivity {
DSelectorPopup dSelectorPopup;
ConstraintLayout constraintLayout;
ArrayList<String> list = new ArrayList<>();
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i = 0; i <= 10; i++) {
list.add("YMF" + i);
}
dSelectorPopup = new DSelectorPopup(this, list);
dSelectorPopup.build();
constraintLayout = findViewById(R.id.main);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Открыть окно
dSelectorPopup.popOutShadow(constraintLayout);
}
});
/* Клик-слушатель
Подсказка: реализация этого слушателя позволяет кнопке возвращать текущий выбранный элемент вместе со своим индексом при нажатии. Поэтому кнопка может использоваться как для отмены, так и для подтверждения. */
dSelectorPopup.setSelectorListener(new DSelectorPopup.SelectorClickListener() {
@Override
public void onSelectorClick(int position, String text) {
Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
// Закрыть окно
dSelectorPopup.dismissPopup();
}
});
}
}
``` // Слушатель скроллинга
/*dSelectorPopup.setSelectoMoverListener(new DSelectorPopup.SelectorMoveListener() {
@Override
public void onSelectorMove(int position, String text) {
Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();
}
});*/
}
}
dSelectorPopup.setOffset(5) .setTextSize(30) .setTextColorSelection(getResources().getColor(R.color.colorAccent)) .setTextColorUnchecked(getResources().getColor(R.color.colorPrimary)) .setGradualColor(0xffD81B60) .setTitleText("Заголовок") .setTitleColor(getResources().getColor(R.color.colorPrimary)) .setTitleSize(25) .setButtonBackground(getResources().getDrawable(R.drawable.popup_bg)).build();
Метод | Описание
------|----------
build() | Вызовите после завершения всех настроек
setHeights(int height) | Высота PopupWindow в dp
isOutside(boolean bl) | Управление закрытием при клике вне PopupWindow, значение по умолчанию true
setSelection(int selection) | Номер выбранного элемента по умолчанию
setOffset(int offset) | Количество элементов над и под текущим элементом
setTextSize(int size) | Размер шрифта текста
setTextColorSelection(int color) | Цвет выделенного текста
setTextColorUnchecked(int color) | Цвет невыделенного текста
setDividerColor(int color) | Цвет разделителя
setFinerDividers(boolean finer) | Включение/отключение более тонкого разделителя с концов, значение по умолчанию true
setTitleText(String text) | Текст заголовка
setTitleSize(int size) | Размер шрифта заголовка
setTitleColor(int color) | Цвет заголовка
setButtonText(String text) | Текст кнопки
setButtonSize(int size) | Размер шрифта кнопки
setButtonColor(int color) | Цвет текста кнопки
setButtonBackground(Drawable drawable) | Фон кнопки
setButtonWidth(int width) | Ширина кнопки в dp
setButtonHeight(int height) | Высота кнопки в dp
showPopUpView(View view) | Отображение PopupWindow
dismissPopup() | Закрытие PopupWindow
setSelectorListener(SelectorClickListener listener) | Установка слушателя событий нажатия
setSelectorMoveListener(SelectorMoveListener listener) | Установка слушателя событий прокрутки## Для связи: QQ 961606042
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )