私の Android アプリケーションでは、EditText
withandroid:editable="false"
が必要ですが、カーソルが点滅しています。「編集可能」をfalseに設定すると、カーソルの点滅が機能しないようです。
独自のキーボード ウィジェット (システムのソフト キーボードではない) を使用し、カーソルを点滅させたいだけです。
それを可能にするアイデアはありますか?
私の Android アプリケーションでは、EditText
withandroid:editable="false"
が必要ですが、カーソルが点滅しています。「編集可能」をfalseに設定すると、カーソルの点滅が機能しないようです。
独自のキーボード ウィジェット (システムのソフト キーボードではない) を使用し、カーソルを点滅させたいだけです。
それを可能にするアイデアはありますか?
探して答える人のためにこのメソッドを追加するだけです。私は多くの方法を試しましたが、これだけがうまくいきました。
public static void disableSoftKeyboard(final EditText v) {
if (Build.VERSION.SDK_INT >= 11) {
v.setRawInputType(InputType.TYPE_CLASS_TEXT);
v.setTextIsSelectable(true);
} else {
v.setRawInputType(InputType.TYPE_NULL);
v.setFocusable(true);
}
}
xml 属性のいずれかを使用できます
Android:cursorVisible="false"
またはJava関数
setCursorVisible(false)。
それが動作します
onCreate() から以下を呼び出しましたが、これはすべての EditText に影響します。
private void hideKeyboard ()
{
getWindow ().setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
getWindow ().setFlags (WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
}