【发布时间】:2012-03-28 22:12:06
【问题描述】:
我有一个在 sharedPrefereces 中使用的颜色选择器。使用默认颜色选择器,我设法实现了我想要的,但我注意到没有黑色或白色。 http://www.yougli.net/android/a-photoshop-like-color-picker-for-your-android-application/ 我想使用此代码,但在最后几行中,他展示了一个示例,我可以在其中看到它已附加到首选屏幕。取而代之的是,我使用自己的活动和按钮,使用共享首选项我可以保存数据/值(所以它不是一个preferenceActivity,只是一个活动)。例如点击一个布局结果:
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();
}
}
提前谢谢你!
【问题讨论】:
标签: android color-picker preferenceactivity