有关Android的TextView组件的几个问题

Posted scruffybear

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有关Android的TextView组件的几个问题相关的知识,希望对你有一定的参考价值。

文章目录

小结

TextView组件与EditText类似,但有一些不同,理论上TextView是只读的。尝试了让TextView组件可以弹出SetError的提示信息,只读,并不能弹出android软键盘。

问题及解决

如果需要将TextView组件不能弹出Android软键盘,并看不到焦点光标,需要设置以下几个属性:
android:cursorVisible="false"
android:windowSoftInputMode="stateHidden"
也可以在程序中调用setShowSoftInputOnFocus(false);函数。

另外,如果想要TextView组件SetError的提示信息能够正常显示,需要设置以下几个属性:
android:focusable="true"
android:focusableInTouchMode="true"

并在程序中进行操作,需要调用requestFocus(),再调用SetError(),如下:

 test_TextView.requestFocus();
 test_TextView.setError("Error Message Pop up!");

最后,TextView的XML设置如下示例:

        <TextView
            android:id="@+id/test_TextView"
            style="@style/AppTheme.InputTextViewDropdown"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.6"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:cursorVisible="false"
            android:windowSoftInputMode="stateHidden"
            android:hint="@string/test_TextView"
            android:inputType="text|numberDecimal"
            tools:text="13.1" />

参考

Stackoverflow: Prevent the keyboard from displaying on activity start
Stackoverflow: Android: Force EditText to remove focus? [duplicate]
Stackoverflow: Disable keyboard on EditText
Stackoverflow: Android setError(“error”) not working in Textview
Stackoverlfow: AutoCompleteTextView setError

以上是关于有关Android的TextView组件的几个问题的主要内容,如果未能解决你的问题,请参考以下文章

有关Android自定义TextView基准线问题

Android ConstraintLayout中TextView组件内容过长超出屏幕问题

Android动态添加textview组件和imageview组件

如何使文本在 Android TextView 向右对齐

Android学习笔记-TextView(文本框)

如何使文本在 Android TextView 向右对齐