11

アプリケーションには、背景が白のEditTextが必要です。私はtheme.xmlファイルでこれを行いました

<style name="myEditText" parent="@android:style/Widget.EditText">
  <item name="android:background">#ffffffff</item>
  <item name="android:textColor">#ff000000</item>
</style>

現在の問題は、カーソルがまだ白いため、表示されないことです。私はグーグルをして、StackOverflowでこの質問を見つけました: EditTextカーソルの色を設定してください

そこで行われる方法がandroid:textCursorDrawable鍵となります。ただし、このキーは3.2ターゲットでのみ使用できるようです。しかし、私たちのクライアントは3.0ターゲットを望んでおり、他の解決策を見つけることができませんでした...

3.0をターゲットにして点滅しているカーソルの色を変更する方法はありますか?

助けてくれてありがとう:)

4

2 に答える 2

2

私は答えを見つけました:)

テーマのeditTextスタイルを次のように設定しました。

<item name="android:editTextStyle">@style/myEditText</item>

次に、次のドローアブルを使用してカーソルを設定しました。

<style name="myEditText" parent="@android:style/Widget.Holo.Light.EditText"> 
<item name="android:background">@android:drawable/editbox_background_normal</item> 
<item name="android:textCursorDrawable">@android:drawable/my_cursor_drawable</item> 
<item name="android:height">40sp</item> </style>

ここで重要なのはandroid:textCursorDrawableです。

また、 XMLドローアブルを使用してこの1本の垂直線を参照してください

于 2012-03-01T15:18:58.480 に答える
1

API 8を対象としたアプリでカーソルの色を変更しようとしていましたが、カーソルの色としてプロパティをTextView使用していることがわかりました。API8で定義されtextColorている部分は次のとおりです。onDraw()TextView

    int color = mCurTextColor;

    if (mLayout == null) {
        assumeLayout();
    }

    Layout layout = mLayout;
    int cursorcolor = color;

次にcursorcolor、を使用して、色を表すandroid.graphics.Pathオブジェクトを作成します。

この動作を変更する必要がある場合は、かなりの作業が必要です。独自のを実装する必要がありますTextView

于 2012-03-01T14:40:19.103 に答える