`
zweichxu
  • 浏览: 135161 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

EditText控件设置只读

阅读更多

android的文本框输入控件(EditText),有时需要设置控件为只读,最简单的方法就是在layout xml文件中设置EditText的android:editable属性值为false即可,但是大部分时候我们需要在java代码中动态设置EditTex的只读性,而android里没有提供对应的setEditable方法来设置EditText的只读属性,这时候可以通过以下方式变通实现:

  public static void setEditTextReadOnly(TextView view){
        view.setTextColor(R.color.read_only_color);   //设置只读时的文字颜色
        if (view instanceof android.widget.EditText){
            view.setCursorVisible(false);      //设置输入框中的光标不可见
            view.setFocusable(false);           //无焦点
            view.setFocusableInTouchMode(false);     //触摸时也得不到焦点
        }
  }

 让文本框无法获得焦点,文本框内光标也不显示,以得到不可输入的效果,跟web页面中表单文本框的readOnly效果一致

分享到:
评论
3 楼 woweipingzui 2014-05-22  
2楼的方法试了,不好用,android:editable="false"这个倒是可以
2 楼 kangear 2014-03-30  
现在用android:inputType="none"代替了。
1 楼 xiaohexing374 2011-11-07  

相关推荐

    EditText如何禁止弹出输入法Demo

    在Android开发中,有时我们可能需要在特定场景下禁止`EditText`控件弹出系统输入法,例如在显示只读信息或密码输入等场合。在标题提到的"EditText如何禁止弹出输入法Demo"中,我们可以看到开发者从4.4版本的拨号盘...

    前面部分可以编辑后面部分不可编辑的EditText

    "前面部分可以编辑后面部分不可编辑的EditText"就是一个典型的自定义控件示例,它结合了可编辑与只读区域的功能,为用户提供了一种特殊的数据输入方式。这种控件可能在填写表单、密码输入等场景中有很好的应用。 ...

    Android高级应用源码-前面部分可以编辑后面部分不可编辑的EditText.zip

    这两个区域可以由同一个EditText控件内部管理,但视觉上通过分割线或者颜色区分,让用户感知到它们的不同。 关键步骤可能包括: 1. **创建自定义EditText类**:创建一个新的Java类,继承自EditText,并添加必要的...

    Android中EditText实现不可编辑解决办法

    在Android开发中,EditText是一个非常常见的控件,用于接收用户输入。然而,有时我们并不希望用户在界面上修改EditText中的内容,而是仅允许查看或复制。在这种情况下,我们需要实现EditText的只读模式。这里我们将...

    Android高级应用源码-前面部分可以编辑后面部分不可编辑的EditText.rar

    对于不可编辑的部分,我们可以将其设置为只读属性。通过`setKeyListener(null)`或者设置`android:inputType="none"`可以让这部分文本不可编辑。同时,为了保持视觉效果,可以使用SpannableString对象来设置不同的...

    锁定text控件文本

    这通常涉及到设置控件的属性,使其进入只读模式,不允许用户编辑显示的文本。 2. **Windows Forms和.NET Framework**: - 在Windows Forms应用程序中,我们可以使用`TextBox`控件来展示文本。要锁定文本,可以将`...

    TextView的字体自适应控件的大小

    `EditText`与`TextView`在处理文本上有许多相似之处,但`EditText`是可编辑的,而`TextView`通常是只读的。因此,从`EditText`的例子中汲取灵感,可以为`TextView`创建一个自适应字体大小的功能。 实现这个功能通常...

    Android开发问题集锦第一期

    #### 四、EditText控件无法代码设置ReadOnly只读 **问题描述**: Android中的`EditText`控件允许用户输入文本,但在某些情况下,开发者可能需要将其设置为只读状态,以防止用户修改其中的内容。然而,`EditText`...

    Android开发问题集锦第一期.pdf

    4. **EditText控件无法代码设置ReadOnly只读** 在代码中,可以通过`editText.setKeyListener(null)`或`editText.setEnabled(false)`使EditText变为只读状态,防止用户编辑。 5. **使用xml让Activity无标题** 可以...

    Android开发问题集锦第一期[归纳].pdf

    问题四:EditText控件无法代码设置ReadOnly只读 在Android中,可以通过设置EditText的属性`android:inputType="none"`或在代码中使用`editText.setKeyListener(null)`来实现只读效果。 问题五:使用xml让Activity无...

    显示和隐藏密码或金额Demo

    1. **EditText控件**:在Android中,用于输入文本的组件是`EditText`。对于密码输入,我们可以设置`inputType`属性为`textPassword`,这将使输入的字符自动被替换为星号或圆点,保护用户的隐私。例如: ```xml ...

    Android+UI+问题集注+第二期

    有时候需要让EditText变为只读状态,防止用户编辑。这可以通过简单地设置`editable`属性实现。 示例代码如下: ```java EditText editText = (EditText) findViewById(R.id.edit_text); editText.setFocusable...

    Android界面编程

    `TextView`是一个只读文本标签,支持多行显示、字符串格式化和自动换行等功能。通过设置XML属性和调用`TextView`类的方法,可以灵活地控制文本的显示样式。 **实例演示**:假设我们需要创建一个简单的布局文件,...

    android计算器

    - **文本框**:用于显示输入的数字和计算结果,通常使用EditText控件,但在这个项目中可能使用TextView,因为它通常是只读的。 - **自定义布局**:为了达到计算器的特定样式,开发者可能会创建自定义布局或重绘...

    Android控件之EditView常用属性及应用方法

    - `android:editable`: 是否允许用户编辑文本,设置为false则变为只读模式。 - `android:gravity`: 控制文本在EditView中的对齐方式,如左对齐、居中、右对齐。 - `android:layout_width`和`android:layout_...

    Android 备忘录+闹钟

    1. UI设计:使用`EditText`控件收集备忘录标题和内容,`Button`用于触发添加、编辑和删除操作。可以使用`RecyclerView`展示备忘录列表,每个条目显示标题和部分内容。 2. 操作逻辑:在用户输入后,将数据保存到...

    基于MFC打开TXT文档

    假设我们有一个名为`m_editText`的`CEdit`控件,我们可以将读取到的文本设置为其内容: ```cpp m_editText.SetWindowText(text); ``` 6. **关闭文件**:最后,别忘了在完成文件操作后关闭文件: ```cpp file...

Global site tag (gtag.js) - Google Analytics