实始化对话框的回调函数里面我们为其添加一个ColorPickerDialog 本身的颜色改变的事件监听并为其初始化颜色值,代码如下:
@Override protected void onPrepareDialogBuilder(Builder builder) { super.onPrepareDialogBuilder(builder); OnColorChangedListener l = new OnColorChangedListener() { public void colorChanged(int color) { mCurrentColor = color; onDialogClosed(true); getDialog().dismiss(); } }; LinearLayout layout = new LinearLayout(getContext()); layout.setPadding(20, 20, 20, 20); layout.setOrientation(LinearLayout.VERTICAL); mCPView = new ColorPickerView(getContext(), l, mInitialColor); LinearLayout.LayoutParams params1 = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); params1.gravity = Gravity.CENTER; mCPView.setLayoutParams(params1); layout.addView(this.mCPView); layout.setId(android.R.id.widget_frame); builder.setView(layout); }