android – 禁用EditText可编辑性和焦点(如TextView)

前端之家收集整理的这篇文章主要介绍了android – 禁用EditText可编辑性和焦点(如TextView)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法使EditText行为像 Android中的TextView(XML是首选)?
我已经尝试过以下内容
android:editable="false"
 android:focusable="false"
 android:focusableInTouchMode="false"
 android:cursorVisible="false"
 android:longClickable="false"

这是有效的,但是我仍然可以触摸EditText来获取焦点(橙色的边缘),尽管焦点丢失了,一旦我删除我的手指.
我不知道focusableInTouchMode是做什么的,但是当我继续接触时它不会移除焦点.

而我不使用白色背景TextView的原因是TextView的背景是丑陋的. EditText的背景有圆角和阴影效果.

提前致谢.

解决方法

EditText和TextView非常相似.我将硬编码到 EditText.java中的唯一区别是将可编辑默认设置为true,您可以手动设置.除此之外,EditText style是:
<style name="Widget.EditText">
    <item name="android:focusable">true</item>
    <item name="android:focusableInTouchMode">true</item>
    <item name="android:clickable">true</item>
    <item name="android:background">@android:drawable/edit_text</item>
    <item name="android:textAppearance">?android:attr/textAppearanceMediumInverse</item>
    <item name="android:textColor">@android:color/primary_text_light</item>
    <item name="android:gravity">center_vertical</item>
</style>

和TextView是:

<style name="Widget.TextView">
    <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
</style>

我的猜测是@android:drawable / edit_text是橙色框的源.的确,it contains

<item android:state_pressed="true" android:drawable="@drawable/textfield_pressed"/>

最简单的方法可能是将其背景设置为默认值:

机器人:背景= “@机器人:可拉伸/ textfield_default”

原文链接:https://www.f2er.com/android/311402.html

猜你在找的Android相关文章