5

Actionbar のSearchViewで点滅カーソルの色を変更したい(互換性のために Actionbar Sherlock を使用しています)。これまで、EditText 要素のカーソルの色を変更することができました。この SO 投稿はそれを達成するのに役立ち、EditText に使用しているスタイルは次のようになります。

<style name="CustomTheme" parent="Theme.Sherlock.Light">
    <item name="android:editTextStyle">@style/edittext_style</item>
</style>

<style name="edittext_style" parent="@android:style/Widget.EditText">
    <item name="android:textCursorDrawable">@drawable/red_cursor</item>
</style>

赤いカーソルは次のようになります。

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
       android:shape="rectangle" >
    <gradient android:startColor="@color/darkRed" 
              android:endColor="@color/darkRed" />
    <size android:width="1dp" />
</shape>

SearchView ウィジェットの実装を調べてみましたが、テキスト入力にAutoCompleteTextViewを使用しているようです。AutoCompleteTextView は EditText ウィジェットから派生しているため、スタイルが EditText では機能するのに AutoCompleteTextView (したがって SearchView) では機能しない理由がよくわかりません。

SearchView ウィジェットでカーソルの色を変更できた人はいますか?

4

1 に答える 1

8

うまくいく解決策を見つけました。交換します

<style name="edittext_style" parent="@android:style/Widget.EditText">
    <item name="android:textCursorDrawable">@drawable/red_cursor</item>
</style>

<style name="SearchViewStyle" parent="Widget.Sherlock.Light.SearchAutoCompleteTextView">
    <item name="android:textCursorDrawable">@drawable/red_cursor</item>
</style>

テーマを次のように変更しました。

<style name="CustomTheme" parent="Theme.Sherlock.Light">
    ...
    <item name="searchAutoCompleteTextView">@style/SearchViewStyle</item>
    ...
</style>
于 2013-03-20T15:49:30.317 に答える