7

アプリケーションに Froyo または Gingerbread でカーソルを正しく表示する edittext がありますが、後の SDK ではカーソルが見えません。オンラインで見つけた解決策は、android:textCursorDrawable="@null" を設定して、edittext がカーソルのフォントの色を使用するようにすることです。ただし、私の minsdkversion は 8 であるため、そのプロパティにアクセスできません。

あなたが使用しているsdkに基づいてプロパティを選択的に追加する方法はありますか? または、これを回避して、古いバージョンと新しいバージョンの両方の SDK でカーソルを表示できるようにする方法はありますか?

4

3 に答える 3

3

現在の設定はわかりませんが、そのプロパティを使用する 1 つの方法は、さまざまな Android バージョンに基づいて異なるレイアウト フォルダーを使用することです。android:textCursorDrawableは API 12 で導入されたプロパティであるためlayout-v12、API が 12 以上の場合に使用されるようなレイアウト フォルダーを持つことができます。このフォルダーのレイアウトでは、プロパティの使用が有効です。以前のバージョンのFroyoおよびGingerbreadの場合、問題はないので、既定のフォルダー を使用しますlayout。最終的に、2 つのレイアウト フォルダー (同じレイアウト ファイルを含む) が作成されます。

layout // don't need the property
layout-v12 // use the property

それは API 11 を除外します。これがあなたにとって契約違反になるかどうかはわかりません。

于 2012-09-13T19:26:53.757 に答える
0

カーソルがない場合、入力は単純で、テキストの最後に新しい文字しか入力できないと思いますか?

TextView を使用できると思いますが、これに独自のKeyListenerを追加しますか? ただし、この場合、仮想キーボードが表示されないという問題が発生します。次のリンクのいくつかを参照してください。

ソフト キーボードを強制的に開く

Android 強制キーボードが表示されます

または、有効なキーの範囲が数字のみとして非常に制限されている場合は、独自のキーボードを作成します。

于 2012-09-12T19:04:55.603 に答える
0

targetSdkVersion を API レベル 13 以上に設定して、android:textCursorDrawable プロパティにアクセスしてみてください。

于 2012-08-31T21:16:26.990 に答える