【问题标题】:Android Edittext cursor invisibleAndroid Edittext 光标不可见
【发布时间】:2012-09-14 03:26:53
【问题描述】:

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

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

【问题讨论】:

  • 你不能对以上版本的Gingerbread 使用不同的布局文件夹来设置该属性吗?
  • @Luksprog 这可能是我所看到的最简单的方法。
  • @Luksprog 你介意发布一个例子吗?

标签: android android-edittext


【解决方案1】:

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

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

这不包括 API 11,我不知道这对你来说是否会破坏交易。

【讨论】:

  • 谢谢,这正是我需要的!
  • 这不起作用,因为 eclipse 仍然会抱怨 layout-14 布局对于 minsdk 版本具有无效属性。
  • @timT 我没有收到那个错误。确保您有最新的更新。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    我认为您可以使用 TextView 并在其中添加您自己的KeyListener? 但在这种情况下,您会遇到虚拟键盘不显示的问题,请参阅以下链接:

    Forcing the Soft Keyboard open

    android force keyboard visible

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

    【讨论】:

      猜你喜欢
      • 2015-08-03
      • 1970-01-01
      • 2012-02-24
      • 2013-08-22
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多