EditText控件设置只读,动态控制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);     //触摸时也得不到焦点    
      }    
} 

当需要让他可编辑时  再把上面属性设为相反状态即可

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);// 让输入框不自动打开输入法

  

 

时间: 2024-07-28 20:55:42

EditText控件设置只读,动态控制EditText状态 输入框不自动打开输入法的相关文章

EditText控件实现只读

android的EditText控件实现只读只需设置三个方法: editText.setCursorVisible(false);//隐藏光标 editText.setFocusable(false);//失去焦点 editText.setFocusableInTouchMode(false);//虚拟键盘隐藏 如果需记录状态,可以继承EditText类,添加一个属性enable来控制

Android给TextView和EditText等控件设置透明背景、圆角边框

第一种方法:在drawable文件夹下新建一个文件设置背景样式 代码: 在drawable文件夹下面新建textviewborder.xml <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#80858

android EditText控件如何禁止输入内容

问题? android EditText控件如何禁止往里面输入内容? 修改版解决方法: EditText editText =  (EditText) findViewById(R.id.editText1); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了,EditText的功能不就是往上面写入内容吗? 再者,如果真要禁止输入文本,在布局文件中添加 android:focusable="false", 或者在代码中使用editText.s

android开发 软键盘出现后 防止EditText控件遮挡 总体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这种情况发生 就须要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 添加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoftI

android 动态背景的实现以及SurfaceView中添加EditText控件

      首先还是一贯作风,我们先看案例: 静态图看不出来效果,如果用过此软件(扎客)的同学们都知道,她的背景会动.怎么样,是不是觉得很时尚,起码比静态的要好(个人观点).其实实现起来并 不复杂,这个如果让做游戏程序员做简直太小儿科了,这里我说明一点,其实我们做应用的也应该多少了解下游戏编程思维,起码对我们做应用有很好的帮助. 下面我简单介绍下实现方式. 实现原理:自定义一个SurfaceView控件.对之不停的onDraw,使得其背景动起来. 对于SurfaceView如果不了解的同学们麻烦

Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制

做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的. 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件,然后初始化该控件并对该控件添加文本监听.xml自己简单的设计一下,代码较为简单,直接上代码: package com.example.edittext; import android.app.Activity; import android.os.Bundle; import an

android开发 软键盘出现后 防止EditText控件遮挡 整体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这样的情况发生 就需要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 增加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoft

MaterialEditText——Android Material Design EditText控件

MaterialEditText是Android Material Design EditText控件.可以定制浮动标签.主要颜色.默认的错误颜色等. 随着 Material Design 的到来, AppCompat v21 中也提供了 Material Design 的控件外观支持,其中包括 EditText .但 AppCompat 中的 EditText 实在有点难用,因为它是通过 colorAccent 来自动为控件着色的,并没有提供设置颜色的api,因此需要通过为控件定制theme的

android如何改变editText控件中部分文字的格式

我们在使用editText控件的时候,会遇到这样的一问题,就是我在输入时候,当我选择让文字变粗时,我输入的文字就会变粗,当我去掉选择时,再输入文字时,文字就是正常情况了. 这种情况,大家一般认为很简单啊.editText中不是有setTypeface这个方法吗.只要使用edit_temp.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));就可以了.可是问题来了.这种方法,是将editText中所有的文字的格式全变了.可是我想要的格式是