sharedPrefereces에서 사용하는 색상 선택 도구가 있습니다. 기본 colorpicker로 내가 원하는 것을 얻을 수 있었지만 검정색이나 흰색 색상이 없다는 것을 알았습니다. http://www.yougli.net/android/a-photoshop-like-color-picker-for-your-android-application/ 이 코드를 사용하고 싶지만 마지막 행에서 예를 보여줍니다. 여기서는이 코드가 기본 화면에 첨부 된 것을 볼 수 있습니다. 그 대신에 나는 자신의 활동을 버튼으로 공유 환경 설정을 사용하여 데이터/값을 저장할 수 있습니다 (그래서 preferenceActivity가 아니라 Activity). 예를 들어 레이아웃을 클릭하면 결과 :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();
}
}
감사합니다. 자신의 활동에
몇 시간 만에해볼 수있어서 감사합니다. :) –
글쎄, 거기에 몇 가지 문제가 있습니다. 첫 번째 : 두 번째는 onColorChangedListener 여야하며이 글을 쓰면 onClickListener입니다. 두 번째로 DROIDS_COLOR_KEY 또는 DEFAULT가 없으며 시스템에 알 수 없습니다. –
당신은 ColorPickerDialog (..)을 위해 무엇을 써야하는지 알고 있습니까? DROIDS_COLOR_KEY를 색상으로 대체하여 두 번째 "this"문제를 해결할 수 있습니다. –