ColorPicker и ColorView - PullRequest
       45

ColorPicker и ColorView

0 голосов
/ 24 апреля 2018

Итак, у меня есть эта кнопка и этот ColorView на моем макете .xml, как вы видите на снимке слева. Я хочу заполнить фон квадрата ColorView цветом, выбранным пользователем в диалоговом окне, которое вы видите справа.снимок.

enter image description hereenter image description here

Мой .xml код:

    <Button
       android:id="@+id/color_button"
       style="@style/buttonStyle"
       android:layout_width="280sp"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/color_view"
       android:layout_alignParentStart="true"
       android:layout_marginStart="13dp"
       android:onClick="showColorPickerDialog"
       android:text="Color" />

    <es.lost2found.lost2foundUI.pickerUI.ColorView
       android:id="@+id/color_view"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentEnd="true"
       android:layout_centerVertical="true"
       android:layout_marginEnd="18dp"
       android:background="@color/otherUserMsgColor">
    </es.lost2found.lost2foundUI.pickerUI.ColorView>

Вызван метод onClickна кнопке вот это:

public void showColorPickerDialog(View v) {
    ColorPickerUI colorpicker = new ColorPickerUI();
    colorpicker.build()
            .title(R.string.color_dialog_title)
            .colorPreset(Color.BLACK)
            .allowCustom(true)
            .show(this, "dialog");
}

Я использую QuadFlask ColorPicker , я не знаю, есть ли способ сделать то, что я хочу, я искалв хранилище, и я не нашел его.

Если есть какой-либо способ получить то, что я хочу, с другим colorPicker, дайте мне знать, пожалуйста, любая помощь будет оценена!

Ответы [ 2 ]

0 голосов
/ 24 апреля 2018

наконец-то я понял, я использовал onColorSet() метод в своем классе ColorPicker, я поместил здесь код на тот случай, если кому-то понадобится

View view = getActivity().findViewById(R.id.color_view);
view.setBackgroundColor(mSelectedColor);

Все, что мне нужно сделать, это использовать переменную mSelectedColor и setBackground с ней. Большое спасибо @Pavneet_Singh за вашу помощь, я уверен, что кто-то будет использовать ваш код!

0 голосов
/ 24 апреля 2018

Вам необходимо добавить слушателя, который будет срабатывать, когда выбран цвет или нажата положительная кнопка, поэтому используйте его как

public void showColorPickerDialog(View v) {
    ColorPickerUI colorpicker = new ColorPickerUI();
    colorpicker
            .title(R.string.color_dialog_title)
            .colorPreset(Color.BLACK)
            .allowCustom(true)// change color on continuous selection
            .addOnColorChangedListener(new OnColorChangedListener() {
                @Override
                public void onColorChanged(int selectedColor) {
                    findViewById(R.id.color_button).setBackgroundColor(selectedColor);
                }
            })// change color on selection
            .addOnColorSelectedListener( new OnColorSelectedListener() {
                @Override
                public void onColorSelected(int selectedColor) {
                    findViewById(R.id.color_button).setBackgroundColor(selectedColor);
                }
            })
            .build().show(this, "dialog");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...