7

我的应用程序中有一个edittext,它将在 Froyo 或 Gingerbread 中正确显示光标,但是在以后的 sdks 中,光标是不可见的。我在网上找到的解决方案是设置 android:textCursorDrawable="@null" 以便edittext 将使用光标的字体颜色。但是,由于我的 minsdkversion 是 8,我无权访问该属性。

它们是否是一种根据您所在的 sdk 有选择地添加属性的方法?或者可能是一种解决此问题的方法,以便我可以在较旧和较新的 sdk 版本上都有可见的光标?

4

3 回答 3

3

我不知道您当前的设置,但使用该属性的一种方法是使用基于各种 android 版本的不同布局文件夹。android:textCursorDrawable是 API 12 中引入的一个属性,因此您可以拥有一个布局文件夹,如layout-v12API 为 12 或更高版本时使用的布局文件夹。在此文件夹的布局中,该属性的使用是有效的。对于较低版本FroyoGingerbread,您没有任何问题,因此您将使用默认文件夹layout. 最后,您将拥有两个布局文件夹(包含相同的布局文件):

layout // don't need the property
layout-v12 // use the property

这遗漏了 API 11,我不知道这对您来说是否会破坏交易。

于 2012-09-13T19:26:53.757 回答
0

尝试将您的 targetSdkVersion 设置为 API 级别 13 或更高,以访问 android:textCursorDrawable 属性

于 2012-08-31T21:16:26.990 回答
0

如果您没有光标,我猜输入很简单,并说您只能在文本末尾输入新字符?

我认为您可以使用 TextView 并为此添加您自己的KeyListener?但在这种情况下,您将无法显示虚拟键盘,请参阅以下链接:

强制打开软键盘

android强制键盘可见

或者如果有效键的范围非常有限,只能创建数字,则创建您自己的键盘。

于 2012-09-12T19:04:55.603 回答