我EditText
在 Android 4.0 中有一个输入,但光标没有显示在其中。
什么可以让光标不出现在输入栏?
我EditText
在 Android 4.0 中有一个输入,但光标没有显示在其中。
什么可以让光标不出现在输入栏?
Make android:cursorVisible="true"
and
If you have used android:textColor
then set the android:textCursorDrawable
attribute to @null
.
Happy coding ;)
我有一个类似的问题,但这是因为光标实际上是白色的,我有一个白色的背景。我需要能够以某种方式在代码中将光标更改为黑色并使用这种方法。
我创建了一个名为 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" />
然后我在代码中应用了这个布局(C#,因为我使用的是 Xamarin)因此
EditText txtCompletionDate = (EditText)LayoutInflater.Inflate(Resource.Layout.textbox, null);
但它在Java中是相似的。
在 xml 文件中为您的编辑文本添加这一行。
android:textCursorDrawable="@null"
我遇到了同样的问题——光标只有在用户输入一些字符后才会出现。我尝试了此处列出的解决方案,但在我的设备上没有任何成功。实际上对我有用的是为我的edittext设置空白文本:
EditText editText = findViewById(R.id.edit_text);
editText.setText("");
这会“伪造”用户输入,并出现光标。
我的问题是我使用的是 AppCompat 主题,但是我有一些扩展 EditText 的自定义视图类,需要扩展 AppCompatEditText 才能正确应用 AppCompat 样式。
在 xml 文件中为您的编辑文本添加这一行。
android:cursorVisible="true"
只需将我自己的个人修复添加给任何可能有帮助的人。我在这里尝试了一切,但强制android:background="@null"
只在我右对齐的末尾导致一个非常小的光标TextEdit
(它在其他地方工作正常)。
只需添加android:padding="1dp"
我TextEdit
就解决了这个问题。
我找到了导致它发生在我身上的原因。
您需要从应用程序的主题继承它。我不确定该行项目究竟需要什么,但android:Theme
它的继承性足以做到这一点。
使用默认值AppBaseTheme
将起作用(它具有android:Theme.Light
父级)。
在清单中使用AppBaseTheme
put into your application 标记。android:theme="@style/AppBaseTheme"
您也可以使用自定义样式和多级继承,只要其中一个parent="android:Theme"
在样式标签中。就像我说的那样,可能没有它,只使用某些行项目,但我不知道那些会是什么。
如果您不需要自定义主题,您可以使用
android:theme="@android:style/Theme"
如果 EditText 有一个带边框的背景可绘制对象,则光标显示在边框中并且看起来是不可见的。纠正问题,将 EditText 中的填充设置为少量,例如 5dp
在我的情况下,如果用户语言是英语,则光标可见,但如果他将语言更改为阿拉伯语,则光标不可见。
为了解决这个问题,我为光标创建了自定义可绘制对象。
可绘制/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"
/>
如上所述,这是实际的行
android:textCursorDrawable="@null"
<EditText
android:textCursorDrawable="@null"
android:imeOptions="actionNext"
android:id="@+id/edSMobile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/edit_corner"
android:inputType="phone" />