Ich versuche, die Farbe des blinkenden Cursors im SearchView-Widget in ICS + zu ändern. Ich habe folgendes versucht:
<item name="android:textCursorDrawable">@null</item>
zu meinem
Thema android:textCursorDrawable="@null"
direkt auf dem SearchView Ich lese die Antwort hier ( Benutzerdefinierte Cursorfarbe in SearchView ), aber dort ist kein Nicht-ABS-Stil für searchAutoCompleteTextView, also konnte ich das nicht versuchen. Ich suchte auch nach einer Java-Methode, um den Textcursor ziehbar zu machen, konnte aber keinen finden - ich ändere andere Aspekte des SearchView in Java und könnte dies mit dem Cursor tun, wenn eine Methode verfügbar wäre.
>Ich habe das SearchView ziemlich umfangreich angepasst, aber diese letzte Änderung verhindert, dass es richtig aussieht - der Cursor ist weiß auf einem weißen Hintergrund, so dass er nicht leicht zu sehen ist. Irgendwelche anderen Ideen von Dingen, die ich versuchen kann?
Basierend auf den obigen Kommentaren und Antworten habe ich ein Beispiel dafür gegeben, wie dies durch Reflexion aussehen könnte. Dies löst das Problem in meiner App. Hoffe, es rettet jemand anderen einige Zeit.
%Vor%Diese 0 könnte eine andere Ressourcen-ID wie R.drawable.my_cursor
seinWie schon erwähnt:
Wenn Sie sich den Android-Quellcode ansehen, werden Sie feststellen, dass mCursorDrawableRes
nur einmal im 3-Param-Konstruktor gesetzt wird. Leider bedeutet dies, dass es keine einfache Möglichkeit gibt, es zur Laufzeit zu ändern. Ihre Optionen sind möglicherweise auf die Verwendung von Reflection beschränkt oder Sie verschieben Ihre benutzerdefinierte SearchView
in das Paket android.widget
, um auf das paketgeschützte Member zuzugreifen.
Dies ändert die Textfarbe und funktioniert auch auf Android 8:
%Vor%Tags und Links android searchview