Skip to content

Commit 54a4de9

Browse files
author
piclabsstudio
committed
ColorPickerDialog using Fragments
1 parent 470f96a commit 54a4de9

File tree

5 files changed

+86
-6
lines changed

5 files changed

+86
-6
lines changed

.idea/codeStyles/Project.xml

+24
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/java/com/dvinfosys/WidgetsExample/Fragments/ColorPickerFragment.java

+47-2
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,60 @@
55
import android.support.annotation.NonNull;
66
import android.support.annotation.Nullable;
77
import android.support.v4.app.Fragment;
8+
import android.util.Log;
89
import android.view.LayoutInflater;
910
import android.view.View;
1011
import android.view.ViewGroup;
11-
import android.widget.Button;
12+
import android.widget.Toast;
1213

1314
import com.dvinfosys.WidgetsExample.R;
15+
import com.dvinfosys.widgets.Button.CustomButton;
1416
import com.dvinfosys.widgets.ColorPicker.ColorPanelView;
17+
import com.dvinfosys.widgets.ColorPicker.ColorPickerDialog;
18+
import com.dvinfosys.widgets.ColorPicker.ColorPickerDialogListener;
1519
import com.dvinfosys.widgets.ColorPicker.ColorPickerView;
1620

17-
public class ColorPickerFragment extends Fragment implements ColorPickerView.OnColorChangedListener{
21+
public class ColorPickerFragment extends Fragment implements ColorPickerView.OnColorChangedListener, ColorPickerDialogListener {
1822

23+
private static final int DIALOG_ID = 0;
1924
private ColorPickerView colorPickerView;
2025
private ColorPanelView newColorPanelView;
26+
private CustomButton btnPickColor;
2127

2228
@Override
2329
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
2430
View view = inflater.inflate(R.layout.fragment_color_picker, container, false);
2531
colorPickerView = view.findViewById(R.id.cpv_color_picker_view);
32+
btnPickColor = view.findViewById(R.id.btn_pic_color);
2633
ColorPanelView colorPanelView = view.findViewById(R.id.cpv_color_panel_old);
2734
newColorPanelView = view.findViewById(R.id.cpv_color_panel_new);
2835

2936
colorPickerView.setOnColorChangedListener(this);
3037
colorPickerView.setColor(Color.BLUE, true);
3138
colorPanelView.setColor(Color.RED);
3239

40+
btnPickColor.setOnClickListener(new View.OnClickListener() {
41+
@Override
42+
public void onClick(View v) {
43+
ColorPickerDialog pickerDialog = ColorPickerDialog.newBuilder()
44+
.setDialogType(ColorPickerDialog.TYPE_CUSTOM)
45+
.setAllowPresets(true)
46+
.setDialogId(DIALOG_ID)
47+
.setColor(Color.BLACK)
48+
.setShowAlphaSlider(true)
49+
.create();
50+
pickerDialog.setColorPickerDialogListener(ColorPickerFragment.this);
51+
pickerDialog.show(getFragmentManager(),"ColorPicker");
52+
/*ColorPickerDialog.newBuilder()
53+
.setDialogType(ColorPickerDialog.TYPE_CUSTOM)
54+
.setAllowPresets(true)
55+
.setDialogId(DIALOG_ID)
56+
.setColor(Color.BLACK)
57+
.setShowAlphaSlider(true)
58+
.show(getActivity());*/
59+
}
60+
});
61+
3362
return view;
3463
}
3564

@@ -43,4 +72,20 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
4372
public void onColorChanged(int newColor) {
4473
newColorPanelView.setColor(colorPickerView.getColor());
4574
}
75+
76+
@Override
77+
public void onColorSelected(int dialogId, int color) {
78+
switch (dialogId) {
79+
case DIALOG_ID:
80+
Log.e("ColorPicker","Selected color->"+color);
81+
String hexColor = String.format("#%06X", (0xFFFFFF & color));
82+
Toast.makeText(getContext(), "Select Color :" + hexColor, Toast.LENGTH_LONG).show();
83+
break;
84+
}
85+
}
86+
87+
@Override
88+
public void onDialogDismissed(int dialogId) {
89+
90+
}
4691
}

app/src/main/res/layout/fragment_color_picker.xml

+11
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@
88
android:showDividers="middle"
99
tools:context=".Fragments.ColorPickerFragment">
1010

11+
<com.dvinfosys.widgets.Button.CustomButton
12+
android:id="@+id/btn_pic_color"
13+
android:layout_width="wrap_content"
14+
android:layout_height="wrap_content"
15+
android:background="@color/colorPrimary"
16+
android:text="Pick Color"
17+
android:textStyle="bold"
18+
android:textSize="12sp"
19+
android:textAllCaps="false"
20+
android:textColor="@color/defaultTextColor" />
21+
1122
<RelativeLayout
1223
android:layout_width="match_parent"
1324
android:layout_height="0dp"

libraries/src/main/java/com/dvinfosys/widgets/ColorPicker/ColorPickerDialog.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@
2828
import android.view.WindowManager;
2929
import android.view.inputmethod.InputMethodManager;
3030
import android.widget.Button;
31-
import android.widget.EditText;
3231
import android.widget.FrameLayout;
3332
import android.widget.GridView;
3433
import android.widget.ImageView;
3534
import android.widget.LinearLayout;
3635
import android.widget.SeekBar;
3736
import android.widget.TextView;
3837

38+
import com.dvinfosys.widgets.EditText.CustomEditText;
3939
import com.dvinfosys.widgets.R;
4040

4141
import java.util.Arrays;
@@ -102,7 +102,7 @@ public class ColorPickerDialog extends DialogFragment implements ColorPickerView
102102
// -- CUSTOM ---------------------------
103103
ColorPickerView colorPicker;
104104
ColorPanelView newColorPanel;
105-
EditText hexEditText;
105+
CustomEditText hexEditText;
106106
private final OnTouchListener onPickerTouchListener = new OnTouchListener() {
107107
@Override
108108
public boolean onTouch(View v, MotionEvent event) {

libraries/src/main/res/layout/dialog_color_picker.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,14 +60,14 @@
6060
android:orientation="horizontal"
6161
tools:ignore="RtlHardcoded">
6262

63-
<com.dvinfosys.widgets.TextView.NormalTextView
63+
<com.dvinfosys.widgets.TextView.CustomTextView
6464
android:layout_width="wrap_content"
6565
android:layout_height="wrap_content"
6666
android:text="#"
6767
android:typeface="monospace"
6868
tools:ignore="HardcodedText" />
6969

70-
<com.dvinfosys.widgets.EditText.NormalEditText
70+
<com.dvinfosys.widgets.EditText.CustomEditText
7171
android:id="@+id/cpv_hex"
7272
android:layout_width="110dp"
7373
android:layout_height="wrap_content"

0 commit comments

Comments
 (0)