Gibt es eine Möglichkeit, so dass ich die Farbe des Symbols und den Text des Listeneintrags ändern kann, wenn er unter Meine NavigationDrawer
gedrückt wird.Benutzerdefinierter Selektor wie NavigationView
Ich weiß, dass ich dies mit NavigationView
leicht tun kann, aber meine Anforderung ist ziemlich seltsam, so kann ich NavigationView
nicht verwenden.
Bis jetzt kann ich die Farbe von beiden nach Artikelauswahl ändern.
Ich habe versucht, TouchListener
zu implementieren. aber es funktioniert nicht.
Touch
drlyt.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// darken background
imgIcon.setColorFilter(Color.parseColor("#47ACD6"),
Mode.SRC_ATOP);
txtTitle.setTextColor(Color.parseColor("#47ACD6"));
Log.e("msg", "Down " + position);
break;
case MotionEvent.ACTION_UP:
// clear color filter
imgIcon.setColorFilter(null);
txtTitle.setTextColor(Color.parseColor("#666666"));
Log.e("msg", "Up");
break;
}
return false;
}
});
Bitte helfen Sie mir. Danke.
Wie ändern Sie Farbe beide nach der Artikelauswahl? –
@tinysunlight Ich habe eine statische Variable genommen und Bedingung in meinen Adapter gesetzt, wenn die aktuelle Position gleich dieser statischen Variable ist. Wenn es wahr ist, setze ich ein Farbfilter auf das Icon und setze die Textfarbe auf TextView. wenn es falsch zurückkehrt, mache ich einfach einfach umgekehrt. und ich aktualisiere diese statische Variable in jeder Aktivität an ihre ausgewählte Position. –
Verwenden Sie ListView? –