我的应用程序中有一个edittext,可以在Froyo或Gingerbread中正确显示光标,但是在以后的sdks中,光标是不可见的。我在网上找到的解决方案是设置android:textCursorDrawable =“@ null”,以便edittext将使用光标的字体颜色。但是,因为我的minsdkversion是8,所以我无法访问该属性。
他们要么根据您所使用的sdk有选择地添加属性?或者可能是一种解决这个问题的方法,以便我可以在旧版本和新版本的sdk上都有可见的游标?
答案 0 :(得分:3)
我不知道您当前的设置,但使用该属性的一种方法是使用基于各种Android版本的不同布局文件夹。 android:textCursorDrawable
是API 12中引入的属性,因此您可以使用layout-v12
之类的布局文件夹,该文件夹将在API为12或更高时使用。在此文件夹的布局中,属性的使用是有效的。
对于较低版本Froyo
和Gingerbread
,您没有任何问题,因此您将使用默认文件夹layout
。最后,您将拥有两个布局文件夹(包含相同的布局文件):
layout // don't need the property
layout-v12 // use the property
遗漏了API 11,我不知道这对你来说是否是一个交易破坏者。
答案 1 :(得分:0)
尝试将targetSdkVersion设置为API级别13或更高级别,以获取对android:textCursorDrawable属性的访问权限
答案 2 :(得分:0)
如果您没有光标,我猜输入很简单,并说您只能在文本末尾输入新字符?
我认为您可以使用TextView并为此添加您自己的KeyListener? 但在这种情况下,您将遇到虚拟键盘没有显示的问题,请参阅以下链接:
Forcing the Soft Keyboard open
android force keyboard visible
如果有效密钥的范围仅限于数字,则创建自己的键盘。