【问题标题】:How to support textView.setTextIsSelectable in lower android versions?如何在较低的 android 版本中支持 textView.setTextIsSelectable?
【发布时间】:2014-04-27 21:54:39
【问题描述】:
textView.setTextIsSelectable(true);

要求最低 API 级别 11。

从 API 级别 8+ 起支持它吗?

【问题讨论】:

标签: android textview android-support-library


【解决方案1】:

herehere 描述了一些方法,但可能没有办法这样做来实现相同的功能

【讨论】:

  • 谢谢,我去看看
【解决方案2】:

通过扩展TextView类创建一个新类并覆盖setTextIsSelectable

        @SuppressLint("NewApi")
public void setTextIsSelectable(boolean selectable) {
    if(Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB)
        super.setTextIsSelectable(true);
    else
    {   
        super.setLongClickable(true);
        super.setOnLongClickListener(getSelectableLongClick());
        super.setOnTouchListener(getSelectableOnTouch());
    }
}

【讨论】:

  • 我正在使用 EditText。 getSelectableLongClick() 和 getSelectableOnTouch() 在哪里?
【解决方案3】:

我正在使用带有属性的 EditText:

android:inputType="none"
android:background="@null"

并在代码中执行此操作:

editText.setKeyListener(null);

这使得 EditText 不可编辑,但仍具有选择和复制功能。唯一的缺点是小部件聚焦时可见光标。我无法将android:cursorVisible 设置为false,因为它会将选择背景与光标一起隐藏。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多