0
私は特定の色を持つカラーピッカーが必要なプロジェクトに取り組んでいます。私の要求がより簡単だったので、私は何も想像したくなかったし、Githubのthisで終わった。実装は単純ですが、私は1つの色しか見ることができません。私はcolors.xml
に指定したい色を持っているので、それらを追加しましたが、助けになるわけではありません。Android:ColorPickerは1つの色しか表示せず、Palleteから間違った色を選択します
スクリーンショット:
XML:
<uz.shift.colorpicker.LineColorPicker
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/colorPicker"
android:layout_width="match_parent"
android:layout_height="60dp"
app:orientation="horizontal"/>
コード:
public class EditNoteActivity extends Activity {
LineColorPicker colorPicker;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.edit_note);
colorPicker = (LineColorPicker)findViewById(R.id.colorPicker);
colorPicker.setColors(new int[] {R.color.noteAqua,R.color.noteBlue,R.color.noteDarkBlue,R.color.noteDeepBlue,
R.color.noteDeepRed,R.color.noteGreen,R.color.noteGrey,
R.color.noteOrange,R.color.notePink,R.color.notePurple,R.color.noteRed,
R.color.noteYellow});
colorPicker.setOnColorChangedListener(new OnColorChangedListener() {
@Override
public void onColorChanged(int c) {
Log.d("Selected color ",Integer.toHexString(c));
}
});
}
private void setColorForPicker(String noteColor){
if (noteColor.equals("#1abc9c")) {
colorPicker.setSelectedColor(R.color.noteAqua);
}
if (noteColor.equals("#3498db")) {
colorPicker.setSelectedColor(R.color.noteBlue);
}
if (noteColor.equals("#34495e")) {
colorPicker.setSelectedColor(R.color.noteDarkBlue);
}
if (noteColor.equals("#0071c1")) {
colorPicker.setSelectedColor(R.color.noteDeepBlue);
}
if (noteColor.equals("#c00000")) {
colorPicker.setSelectedColor(R.color.noteDeepRed);
}
if (noteColor.equals("#2ecc71")) {
colorPicker.setSelectedColor(R.color.noteGreen);
}
if (noteColor.equals("#95a5a6")) {
colorPicker.setSelectedColor(R.color.noteGrey);
}
if (noteColor.equals("#e67e22")) {
colorPicker.setSelectedColor(R.color.noteOrange);
}
if (noteColor.equals("#ff56bb")) {
colorPicker.setSelectedColor(R.color.notePink);
}
if (noteColor.equals("#9b59b6")) {
colorPicker.setSelectedColor(R.color.notePurple);
}
if (noteColor.equals("#e74c3c")) {
colorPicker.setSelectedColor(R.color.noteRed);
}
if (noteColor.equals("#f1c40f")) {
colorPicker.setSelectedColor(R.color.noteYellow);
}
}
color.xmlファイル:
<color name="noteAqua">#1abc9c</color>
<color name="noteBlue">#3498db</color>
<color name="noteDarkBlue">#34495e</color>
<color name="noteDeepBlue">#0071c1</color>
<color name="noteDeepRed">#c00000</color>
<color name="noteGreen">#2ecc71</color>
<color name="noteGrey">#95a5a6</color>
<color name="noteOrange">#e67e22</color>
<color name="notePink">#ff56bb</color>
<color name="notePurple">#9b59b6</color>
<color name="noteRed">#e74c3c</color>
<color name="noteYellow">#f1c40f</color>
私は間違って何をしていますか?ありがとうございました。
ここで試してみます。これらの値をすべて置き換えるありがとうございました。 –
それは働いた。ありがとうございます.. :-) –
あなたはようこそ! – RobVoisey