首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当返回true时,键盘不显示在EditText上

。在Android开发中,可以通过重写EditText的onCheckIsTextEditor()方法来实现这个功能。当该方法返回true时,表示EditText是一个文本编辑器,键盘会显示在EditText上;当返回false时,键盘不会显示在EditText上。

以下是一个示例代码:

代码语言:txt
复制
EditText editText = findViewById(R.id.editText);

editText.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return true;
    }
});

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
        }
    }
});

在上述代码中,通过设置EditText的OnTouchListener为返回true的方式,阻止了EditText的点击事件,从而防止键盘的弹出。同时,在EditText的OnFocusChangeListener中,当EditText获取焦点时,通过InputMethodManager隐藏键盘。

这种方式适用于需要禁止用户输入的场景,比如展示一段静态文本或只允许通过其他方式输入的情况。

腾讯云相关产品和产品介绍链接地址:

以上是腾讯云提供的一些相关产品,可根据具体需求选择合适的产品进行开发和部署。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android富文本开发

(也就是说光标显示第一个输入框,主动弹软键盘第一个输入框的最直接父布局加入:android:focusable="true";android:focusableInTouchMode="true...,光标显示第一个输入框中) 需求2:editText获取焦点,当然软键盘不会主动弹出(光标也不显示第一个输入框的最直接父布局加入:android:focusable="true";android...:focusableInTouchMode="true" (效果:软键盘弹出,光标不显示,其他输入框也获取焦点,ps非直接父布局没有效果) 父布局最顶部添加一个高度为0的EditText,抢了焦点但不展示...stateAlwaysVisible-总是显示状态:设置为这个状态,软键盘总是可见的,和stateVisible不同的是,当我们跳转到下个界面,如果下个页面软键盘是隐藏的,而我们再次回来的时候,软键盘就会显示出来...这种场景很容易想到: 比如,简书,掘金写博客。写文章,插入本地图片,即使你没有提交文章,也会把图片上传到服务器,然后返回一个图片链接给你,最后当你发表文章,图片只需要用链接替代即可。

8.4K20

Android开发常用的知识点

EditText的控件中找一个,设置成 android:focusable="true" android:focusableInTouchMode="true" 软键盘遮挡 解决Android软键盘在全屏下设置...stateUnchanged 主窗口出现在前面,软键盘被保持它上次是什么状态,无论上次是可见或隐藏。...stateAlwaysHidden 该Activity主窗口获取焦点,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...stateVisible 当用户导航到Activity主窗口,软键盘是可见的。不过当用户离开一个Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。...stateAlwaysVisible 该Activity主窗口获取焦点,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。

2.5K10

Android开发笔记(三十六)展示类控件

录入用户信息(比如输入姓名、密码等等),EditText输入回车键,常常不要换行而是让光标直接跳到下一个编辑框。这个场景说起来简单,开发过程中就分解为三个功能: 1、监控用户当前输入了回车键。...给编辑框注册一个TextWatcher监听器(addTextChangedListener方法),检测到文本发生变化并找到回车换行符,触发光标跳转操作; 2、保持当前控件不换行,依旧单行显示。...该功能有两种实现方式: 方式一:布局文件的EditText节点中加入singleLine属性,但该方式只视觉上起作用,真正的字符串还是带有回车换行符; android:singleLine="true...EditText还有一个需要特殊处理的地方,就是自动关闭软键盘。一般我们希望点击其它控件,原输入框的软键盘就要自动消失,可惜Android不是这样处理。...另外注意centerInside,图片尺寸大于视图,centerInside等同于fitCenter;图片尺寸小于视图,centerInside等同于center。

1.4K30

实现Android键盘的中英文适配

键图标的设置 想象一下,当我们EditText中完成了输入,想要以输入的内容作为关键字进行搜索,却需要按下“完成”图标的Enter按键,显然这不符合良好的用户体验设计。 ...,系统将选择一个合适的状态或依赖于主题的设置 【B】stateUnchanged:这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 【C】stateHidden...:用户选择activity,软键盘总是被隐藏 【D】stateAlwaysHidden:该Activity主窗口获取焦点,软键盘也总是被隐藏的 【E】stateVisible:软键盘通常是可见的...【F】stateAlwaysVisible:用户选择activity,软键盘总是显示的状态 【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize...:该Activity总是调整屏幕的大小以便留出软键盘的空间 【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分 EditText默认弹出软件键盘

2.2K10

Android编程之ListView和EditText发布帖子隐藏软键盘功能详解

本文实例讲述了Android编程之ListView和EditText发布帖子隐藏软键盘功能。...分享给大家供大家参考,具体如下: Android开发中,手动调用软件盘的隐藏和显示有时候也是非常常见的需求。 EditText控件实现了点击打开软键盘输入功能,but why ?...开发有个布局是最外层是FrameLayout,包裹了ListView,bottom底部是个edit输入框,点输入框打开keyboard时候,需要下滑listView隐藏keyboard,但滑继续滑动...mPullToNextLayout.setIsShowSoftInput(false); } else if (top < oldTop) { //键盘显示...其实Edit是个很高的Edit,这种方法,会导致跟listview一样,edit滑动同时收起了keyboard导致重影,因为是adjustResize和布局的原因。

1K20

Android中的视图焦点Focus的详细介绍

而在触摸设备通常默认情况下只有EditText控件才具有焦点,而我们通常会遇到的一个问题就是进入一个具有EditText的界面键盘就会自动弹出,而且有时候可能无法消失,但需求可能是进入时弹出键盘...和setFocusableInTouchMode同时为true才可以获取焦点。...public boolean hasFocus() hasFocus和isFocused区别主要在ViewGroup,前者只要自己或者儿子视图是焦点视图都返回true,而后者是一定要自己是焦点视图。...因为默认的EditText是一个可成为焦点的视图,这样根据规则界面展示就会成为一个焦点视图从而弹出键盘,这样即使对EditText调用clearFocus也因为规则导致他还是焦点视图。...这样EditText调用clearFocus或者对祖先视图调用reqeustFoucs都会优先让祖先视图获得焦点。

2.4K20

android获取手指触摸位置的方法

该对象会在用户触摸手机屏幕被创建。 返回值:该方法的返回值机理与键盘响应事件的相同,同样是已经完整地处理了该事件且不希望其他回调方法再次处理返回true,否则返回false。...屏幕被按下:屏幕被按下,会自动调用该方法来处理事件,此时MotionEvent.getAction()的值为MotionEvent.ACTION_DOWN,如果在应用程序中需要处理屏幕被按下的事件,...屏幕被抬起:触控笔离开屏幕触发的事件,该事件同样需要onTouchEvent方法来捕捉,然后方法中进行动作判断。...MotionEvent.getAction()的值为MotionEvent.ACTION_UP,表示是屏幕被抬起的事件。...屏幕中拖动:该方法还负责处理触控笔屏幕滑动的事件,同样是调用MotionEvent.getAction()方法来判断动作值是否为MotionEvent.ACTION_MOVE再进行处理。

2.5K10

Android开发笔记(一百四十八)自定义输入法软键盘

3、系统软键盘会自动响应EditText的焦点变更事件,常常在意料之外突然之间蹦出来,弄得开发者要么剥夺EditText的焦点,要么强行关闭软键盘显示,但无论哪种方式都得开发者强行**,很不方便。...2、自定义控件的主要工作是书写自定义的控件类,自定义软键盘例外,有了自定义的控件类,才能处理十个数字键的按键动作,才能把软键盘做为普通的控件嵌入到其它布局文件中。...3、软键盘不是一个孤立的控件,它的按键动作需要实时某个编辑框中把数字显示出来,所以使用时还得给它绑定一个EditText,这样软键盘才知道我的按键要输出给这个EditText,而不是输出给那个EditText...(false); addView(mKeyboardView); } } } 最后要给软键盘绑定对应的EditText对象,即键盘发生按键动作,要把按键结果显示在哪个EditText...

2.4K30

Android开发之如何自定义数字键盘详解

当然如果对特定行的宽高要有所调整,可以Row 或者key设置,例如我们示例图中展示的最上面的一行,它的宽度比其它行都低了一点,则我们第一行设置了属性android:keyHeight="6%p"...3、android:keyIcon设置key显示的icon 4、android:keyLabel 键显示的值 5、android:isRepeatable 长按时是否重复该键设置的操作,例如我们删除键可以设置此属性...为了让我们自定义的键盘显示最下面,设置Gravity为BOTTOM,然后通过frameLayout.addView(mKeyBoardViewContainer, lp)添加到FrameLayout...除此之外,我们创建一个函数attachTo(EditText)将EditText与我们自定义的键盘绑定 fun attachTo(editText: EditText) { //如果editText与上次设置的是同一个对象...hasFocus && mKeyBoardView.visibility == View.VISIBLE) { //如果当前失去较大,并且当前键盘正在显示,则隐藏 mKeyBoardView.visibility

2.9K21

自定义键盘(二)

一引言 一篇文章只是自定义了一个键盘的样式,并未和任何的输入框进行关联。只有和输入框进行关联才能是一个有用的键盘。...3.2解决和系统键盘显示冲突 这就需要我们把页面中所有的EditText传递到封装的工具类中,调用这个方法隐藏系统键盘 /** * 隐藏系统键盘 * * @param editText */ public...3.3动态绑定输入框 系统的输入框是EditText获取焦点的时候会弹出来,所以这里我们要给传递进来的EditText设置焦点改变监听,通过焦点改变来显示键盘。...仍然获取焦点,再次点击这个EditText键盘并未弹出。...这就需要我们我们传递过来的布局文件中添加一个宽高是0的EditText。让用户点击完成的时候,这个EditText获取焦点。

92620

关于EditText屏蔽焦点的问题,及为什么clearFocus()方法失效了?

我们有时候的需求EditText 不需要的时候,无法点击,或者取消它的默认焦点。 我们先看看通用解决方法。...android:focusable与android:focusableInTouchMode 前者针对键盘下操作的情况,如果设置为true,则键盘上下左右选中,焦点会随之移动。...而后者,显然是针对触屏情况下的,也就是我们点击屏幕的的某个控件,不要立即执行相应的点击逻辑,而是先显示焦点(即控件被选中),再点击才执行逻辑。...android:focusable=“true”不会改变android:focusableInTouchMode,因此只键盘状态下显示焦点,TouchMode状态下,依旧无法显示焦点。...,由一个switch控制,switch关闭editText可以输入,有焦点,否则无法点击,无焦点。

99820

Android开源库:手把手教你实现一个简单好用的搜索框(含历史搜索记录)

X轴的起点 y:组件容器Y轴的起点 width:组件的长度 height:组件的高度 } /** * 步骤3:通过监听复写EditText本身的方法来确定是否显示删除图标...clearDrawable : null, null); } /** * 步骤4:对删除图标区域设置点击事件,即"点击 = 清空搜索框内容" * 原理:手指抬起的位置删除图标的区域...* 调用时刻:点击键盘上的搜索键 */ et_search.setOnKeyListener(new View.OnKeyListener() {...输入框为空 & 数据库中有搜索记录,才显示 "删除搜索记录"按钮 if (tempName.equals("") && cursor.getCount() !...源码分析 /** * 监听输入键盘更换后的搜索按键 * 调用时刻:点击键盘上的搜索键 */ et_search.setOnKeyListener(new View.OnKeyListener

2.7K10

Android UI开发中所遇到的各种坑

1.软键盘隐藏问题 问题描述:Activity按下返回调用finish()方法后,界面已经销毁,但是软键盘依然还留在屏幕,这让当前正在显示的Activity没有输入框的完全没法看,非常严重的视觉影响。...尝试方案:寻找各种方法去隐藏软键盘,网上各种找。思路是活动退出,会调用onDestroy方法销毁界面,在这个方法里面想办法隐藏界面即可。找到下面这种方法,但还是不行。...还尝试过用基类找到所有edittext然后让它们失去焦点,隐藏软键盘。...第二步,布局里加一个scrollview将你要被顶起的视图放进这里,然后键盘显示的时候,就会在scrollview里滚动以获得空间进行显示键盘。...merge标签使用后,布局里即使有EditText也无法自动获得焦点,只能手动设置焦点, 调用requestFocus()方法。或者是用requestFocus》XML布局文件里。

1.3K20

Android如何禁止向EditText控件中输入内容详解

前言 Android开发中经常会遇到EditText控件,而在App开发过程中、遇到了这样一个问题、那就是Android EditText控件如何禁止往里面输入内容?...最开始找到修改版解决方法、但是想输入的时候就有问题了、可以参考一下、但不建议这样写 EditText editText = (EditText) findViewById(R.id.editText1...()内容、则需要禁止输入、防止它被修改、 如果没有显示内容、则将EditText设置为可输入状态 经过测试验证:setFocusable方法的效果只有第一次使用时有效、也就是说若在布局文件里面设置:...android:focusable="false" 即使你代码中设置此控件属性:editText.setFocusable(true);也不能对它进行编辑、即setFocusable方案不可行、经过摸索得出可行方案利用...{ /** test EditText forbid input function demo */ EditText editText; boolean flag = true; public

1.3K31

EditText 集锦 - 开发中常用的用法及遇到的各种坑

password=“true” //以密文的形式显示输入的文本.注意:该属性使用时提示已过时,建议使用android:inputType属性替代. android:textAlignment //设置...//设置文本的类型,用于帮助输入法显示合适的键盘类型. android:maxLength //设置EditText最多接受的文本的个数. android:lines //设置EditText显示的行数...如设置成1.5倍. ---- 输入法相关 设置默认输入法 有时候为了提高用户体验,弹出输入法需要设置默认的输入状态,比如单词应用弹出输入法,输入法最好是英文输入状态下。...这时候,可以采用下面的方法 /** * EditText获取焦点并显示键盘 */ public static void showSoftInputFromWindow(Activity...(true); editText.requestFocus(); //显示键盘 activity.getWindow().setSoftInputMode

2.2K20

Android EditText使用详解-包含很多教程看不到的功能演示

EditText为我们提供了android:hint来设置EditText内容为空显示的文本,这个文本只EditText为空显示,你输入字符的时候就消失了,不影响你的EditText的文本。。...四:输入特殊格式的字符 我们开发程序的时候不免会输入一些特属个数的字符,比如密码(输入框的字符要加密显示),电话号码(比如数字和-),数字等,这些都算是一些特属格式的字符,强大的EditText同样为我们提供了输入这些特属格式字符的设置...密码输入也是Android应用常用的功能,通过配置EditText的android:password=“true”就可以实现这一密码输入功能,修改main.xml如下: <?...六:Enter键图标的设置 软键盘的Enter键默认显示的是“完成”文本,我们知道按Enter建表示前置工作已经准备完毕了,要去什么什么啦。...比如,一个搜索中,我们输入要搜索的文本,然后按Enter表示要去搜索了,但是默认的Enter键显示的是“完成”文本,看着不太合适,不符合搜索的语义,如果能显示“搜索”两个字或者显示一个表示搜索的图标多好

3.7K20

5种方法完美解决android软键盘挡住输入框方法详解

假设原始界面是一个LinearLayout包含若干EditText,如下图所示,分别使用两种属性的表现。 ?...即使当前输入框下方也有输入框,键盘显示的情况下,也可以通过上下滑动界面来输入,而不用先隐藏键盘,点击下方输入框,再显示键盘输入。...android:fitsSystemWindows=“true”会使得屏幕的可布局空间位于状态栏下方与导航栏上方 方法三:使用scrollTo方法,键盘弹起,让界面整体移;键盘收起,让界面整体下移...方法四:适配键盘高度变化情况,键盘弹起,让界面整体移;键盘收起,让界面整体下移 此方法主要是通过需要移动的控件外套一层scrollView,同时最布局最外层使用自定义view监听键盘弹出状态,计算键盘高度...注意点:不可使用adjustPan属性,否则ScrollView失效; 缺点:对于全屏键盘显示,无法上下滑动界面达到输入的目的; 方法三:优点:可以解决全屏键盘挡入按钮问题。

20.9K31
领券