有人知道如何禁用EditText视图中的闪烁光标吗?


当前回答

改变焦点到另一个视图(例如:任何textview或XML中的线性布局)使用 android: focusableInTouchMode = " true " android: focusable = " true " 在Activity中设置addTextChangedListener为edittext。 然后在aftertextchanged of Edittext上放置Edittext . clearfocus ();

这将在键盘打开时启用光标,在键盘关闭时禁用光标。

其他回答

你可以使用xml属性android:cursorVisible="false"或通过编程方式:

java: view.setCursorVisible(假) 芬兰湾的科特林:视图。isCursorVisible = false

如果你想忽略Edittext从开始的活动,android:focusable和android:focusableInTouchMode将帮助你。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout7" android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:focusable="true" android:focusableInTouchMode="true">

这个LinearLayout和你的Edittext。

您可以使用以下代码以编程方式启用和禁用编辑文本游标。

启用游标

    editText.requestFocus();
    editText.setCursorVisible(true);

禁用游标

    editText.setCursorVisible(false);

使用XML启用禁用游标

   android:cursorVisible="false/true"
   android:focusable="false/true"

使edit_text可选(复制/剪切/粘贴/选择/全选)

   editText.setTextIsSelectable(true);

要专注于触摸模式,请在XML中编写以下代码行

  android:focusableInTouchMode="true"
  android:clickable="true"
  android:focusable="true" 

以编程方式

  editText.requestFocusFromTouch();

清除触摸模式的焦点

  editText.clearFocus()

rootLayout.findFocus .clearFocus (());

改变焦点到另一个视图(例如:任何textview或XML中的线性布局)使用 android: focusableInTouchMode = " true " android: focusable = " true " 在Activity中设置addTextChangedListener为edittext。 然后在aftertextchanged of Edittext上放置Edittext . clearfocus ();

这将在键盘打开时启用光标,在键盘关闭时禁用光标。