У меня есть палитра цветов, которую я использую в sharedPrefereces. С помощью палитры цветов по умолчанию мне удалось получить то, что я хочу, но я заметил, что нет черного или белого цветов. http://www.yougli.net/android/a-photoshop-like-color-picker-for-your-android-application/
Я хотел бы использовать этот код, но в последних строках он показывает пример, где я вижу, что он прикреплен к предпочтительному экрану. Вместо этого я использую свою собственную активность с кнопками, где с помощью общих настроек я могу сохранять данные / значения (поэтому это не preferenceActivity, а просто Activity) Например, нажав на результаты макета:
OptVertexColor = (LinearLayout) findViewById(R.id.OptVC);
OptVertexColor.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoadChartVertexColor();
ColorPickerDialog dlg = new ColorPickerDialog(settings.this,
new ColorPickerDialog.OnColorChangedListener() {
public void colorChanged(int color) {
SaveChartVertexColor("vertexcolor", color);
}
}, loadedVertexColor);
dlg.setTitle("Select new color");
dlg.show();
}
});
Появится диалоговое окно выбора цвета по умолчанию, и я могу сохранить цвет. Теперь, как я могу использовать это без экрана настроек и получить то же самое? Я попытался скопировать код выше в этот код, но я не могу понять, как с ним справиться.
public class MySettings extends PreferenceActivity implements OnPreferenceClickListener, ColorPickerDialog.OnColorChangedListener {
public boolean onPreferenceClick(Preference pref)
{
new ColorPickerDialog(this, this, DROIDS_COLOR_KEY, mPrefs.getInt(DROIDS_COLOR_KEY, DROIDS_COLOR_DEFAULT), DROIDS_COLOR_DEFAULT).show();
return true;
}
public void colorChanged(String key, int color)
{
((PreferenceScreen)this.findPreference(SETTINGS_KEY)).getEditor().putInt(key, color).commit();
}
}
Заранее спасибо!