EditText
Android 4.0に入力があり、カーソルがその中に表示されません。
入力フィールドにカーソルが表示されない原因は何ですか?
EditText
Android 4.0に入力があり、カーソルがその中に表示されません。
入力フィールドにカーソルが表示されない原因は何ですか?
作るandroid:cursorVisible="true"
と
を使用している場合は、属性を にandroid:textColor
設定します。android:textCursorDrawable
@null
ハッピーコーディング;)
同様の問題がありましたが、カーソルが実際には白く、背景が白かったためです。コードでカーソルを黒に変更できるようにする必要があり、このアプローチを使用しました。
これを含む textbox.axml というレイアウト リソースを作成しました。
<?xml version="1.0" encoding="utf-8"?>
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="This is a template"
android:background="#ffffff"
android:textColor="#000000"
android:cursorVisible="true"
android:textCursorDrawable="@null" />
次に、このレイアウトをコードに適用しました(Xamarinを使用しているためC#)。
EditText txtCompletionDate = (EditText)LayoutInflater.Inflate(Resource.Layout.textbox, null);
しかし、Java でも同様です。
私の問題は、AppCompat テーマを使用していたことですが、AppCompat スタイルを正しく適用するために AppCompatEditText を拡張する必要がある EditText を拡張するカスタム ビュー クラスがいくつかありました。
xml ファイルの編集テキストにこの行を追加します。
android:cursorVisible="true"
私はそれが私に起こった原因を見つけました。
アプリケーションのテーマから継承する必要があります。ラインアイテムが正確に何である必要があるのか はわかりませんが、android:Theme
そのトリックを実行するように継承しています。
デフォルトを使用すると機能します(親としてAppBaseTheme
持っています)。android:Theme.Light
マニフェストのアプリケーション タグに挿入してAppBaseTheme
使用します。android:theme="@style/AppBaseTheme"
カスタムスタイルと複数レベルの継承を使用することもできますが、そのうちの1つがparent="android:Theme"
スタイルタグに含まれている限り.それらが何であるかを知っています。
カスタムテーマが必要ない場合は、そのまま使用できます
android:theme="@android:style/Theme"
私の場合、ユーザー言語が英語の場合はカーソルが表示されますが、言語をアラビア語に変更するとカーソルは表示されません。
これを修正するために、カーソル用のカスタム ドローアブルを作成しました。
drawable/black_cursor.xml のカーソル形状
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<solid android:color="#a8a8a8"/><!-- This is the exact color of android edit text Hint -->
<size android:width="1dp" />
</shape>
テキストの編集:
<EditText
android:id="@+id/user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textCursorDrawable="@drawable/black_cursor"
/>