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

Android富文本开发

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

8.5K20

Android开发常用的知识点

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

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

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

    1.5K30

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

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

    2.6K30

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

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

    2.6K20

    自定义键盘(二)

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

    97520

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

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

    1.2K20

    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

    3K10

    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.3K20

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

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

    3.9K20

    EditText光标不会往后挪动的方法,edittext 禁止点击,点击后没有软键盘;挂载,byte 进制转化,byte中出现负数,EditText属性

    "false" //不能呼输入; android:focusableInTouchMode="false" //没有onTouch焦点,不可点击; 我的代码,失去焦点,点击后没有软键盘 EditText...--最大的行数,当输入内容超过maxlines,文字会自动向上滚动--> android:singleLine="true" 在控制控件显示的大小时蛮实用的--> android:cursorVisible="true" 在EditText的左边输出一个drawable--> android:drawablePadding 当文字过长时,该控件该怎样显示,例如设置以下值: "start"省略号显示在开头, "end"省略号显示在结尾,"middle"省略号显示在中间, "marquee"以跑马灯的方式显示(动画横向移动

    7200

    android 特色输入输出

    核心技能部分​ 6.1 手势识别 当前的Android手机中,输入设备主要以屏幕上的模拟键盘居多,这种设计初衷是为了减少手机重量,同时为用户提供更大的屏幕显示界面,然而这么做的弊端也同时产生,在本就不大的手机屏幕上...,往往既要显示虚拟键盘,同时还要显示应用程序的常用按钮,同时还要有一大部分空间需要预留给内容显示区域,这样手机界面就会显得比较拥挤,而手势操作则可以解决这种问题,使用手势操作,我们就无需在界面中为各个功能添加相应的按钮...示例6.1​ 根据用户手势进行图片的缩放,当手指从左向右挥动时图片被放大,从右向左挥动时图片被缩小,挥动速度越快,缩放比越大。...在添加手势界面上方的文本框中输入一个手势名(在识别手势后,系统会返回该名称),然后在下方的空白处随意画一些手势轨迹,如下图6.1.6所示。...在事件处理代码中我们需要注意,在匹配信息中有一个score字段,该字段表示匹配程序,即用户绘制的手势和手势库中手势的相似性。一般当该字段的值大于1时就可认为与手势匹配。

    5410

    笔记32 | UI系列之EditText和AutoCompleteTextView

    -- ---- 1.EditText 简单来说说EditText这个控件,这个就相当于我们平常web开发中的文本输入框,我们如果要使用EditText,可以在布局文件中声明一个这个元素即可,下面就是一个简单的...android:inputType,这个属性不仅可以指定键盘的显示类型,还能控制一些其他的操作,具体可以参考android的官方API,其默认属性是 android:inputType="text",...textEmailAddress时,键盘会多出来一个 @ 符号 EditText android:id="@+id/blog" android:layout_width...键盘就会变成一个打电话时的键盘 EditText android:id="@+id/counts" android:layout_width="match_parent...EditText有一个setError的方法,当调用这个方法时,则表示输入的数据不合法,我们来看看官方的API对该方法的解释: void android.widget.TextView.setError

    46750
    领券