Ich arbeite an einem Projekt, wo ich einen Farbwähler mit bestimmten Farben benötige. Da meine Anforderungen einfacher waren, wollte ich nichts Besonderes, und ich endete mit this von Github. Die Implementierung ist einfach, obwohl ich nur eine Farbe sehen kann. Ich habe die Farben, die ich in colors.xml
angegeben habe, also habe ich sie hinzugefügt, aber es hilft nicht, es ist nur lila für den gesamten Balken.Android: ColorPicker zeigt nur eine Farbe an und wählt falsche Farben aus Pallete
Screenshot:
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"/>
Code:
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 Datei:
<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>
Also, was mache ich falsch? Danke.
Ok, ich werde das jetzt versuchen. Gib mir 5, um alle diese Werte zu ersetzen. Vielen Dank. –
Es hat funktioniert. Danke .. :-) –
Gern geschehen! – RobVoisey