InputFilter 可能需要对用户的输入进行一些限制,可以为EditText Widget设置一个InputFilter以实现这一功能 如: /* * 使用输入过滤器约束用户输入...* (只能输入两个大写字母) * setFilters方法需要调用一个InputFilter对象数组。...* 本例中将所有输入的小写字母自动转换为大写字母,而且被限定在 * 两个字符 */ final EditText text_f = (EditText...)findViewById(R.id.editText01); text_f.setFilters(new InputFilter[]{...new InputFilter.LengthFilter(2) }); 下例 小数点后两位 private void initEt() { tv1=(EditText
介绍 Android中EditText是一个InputType类型有很多的控件,可以来达到不同的软键盘效果。如下图: ?...InputType类型 在最近在项目中要实现EditText输入金额,金额的限制因素很多,比如,只能输入数字和小数点,首位不能输入0和小数点,小数点后面只能保留两位等等,这些仅仅用InputType是无法实现的...设置EditText的InputType 需要将EditText的InputType设置成如下格式,保证用户只能输入小数点和数字: android:inputType="numberDecimal" 或者...; import android.text.Spanned; import android.text.TextUtils;import java.util.regex.Matcher; import java.util.regex.Pattern...* @param start 新输入的字符串起始下标,一般为0 * @param end 新输入的字符串终点下标,一般为source长度-1 * @param
EditText 监听回车 使用EditText时,有时候我们会需要监听输入的回车,以做出一些操作。 或者需要把回车变成“搜索”,“发送”或“完成”等等。...EditText android:layout_width="match_parent" android:layout_height="wrap_content" android...上面的 actionId 对应的是 android.view.inputmethod.EditorInfo 中的常量。...,如果传入的index超出了text的范围,会报 java.lang.IndexOutOfBoundsException 因此在实际工程中,需要判断传入的位置是否在EditText已有内容的长度范围内。...把光标移动到最后 光标右移一位 光标左移一位 全选当前输入的textmEt1.setSelection(0, mEt1.getText().length()); 监听输入内容 代码中动态限制输入长度 使用
这篇文章主要为大家详细介绍了Android布局之输入框EditText设计,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 现在先简单介绍一下技术点: 1.如何使用圆角输入框和按钮背景 2.如何实现...“手机号”、“密码”后面的竖线 3.如何嵌套输入框的布局 4.如何监听输入框的输入事件及删除按钮的动态显示隐藏 1.如何使用圆角输入框和按钮背景 安卓为开发者准备了shape这个xml标签,用于自定义一些形状...那么我就来定义一个白色的输入框背景。代码如下: 的去嵌套去使用各种布局,一定会组合出炫酷的效果的。这里布局很简单仅仅是一层嵌套(整个页面布局嵌套输入框的布局)。...4.如何监听输入框的输入事件及删除按钮的动态显示隐藏 思想很简单,就是监听EditText的输入事件,之后如果输入长度大于0就显示后面的删除按钮,如果=0就隐藏删除按键,点击删除按钮就清空输入框。
最近做公司项目的时候,经常会遇到一个问题,就是我为某个控件如EditText设置requestfocus()的时候不管用,比如说登陆的时候,我判断下用户输入的密码,如果正确就登陆,错误就提示密码错误,...并且输入框获取焦点,但是实际中确不起作用 package com.example.hfs.requestfocusdemo; import android.content.Intent; import...android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import...android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity...加载刷新UI的时候,是从左到右,从上到下的顺序,正在加载的过程中,如果此时requestFocus(),的话,有可能此时还没把整个界面刷新好,导致requestFocus无效。
对于EditText控件来说可能需要用户输入提示,比如这个文本库是需要输入姓名的,可能 输入提示的内容为 “单击输入姓名”,使用Java代码,直接调用setHint(CharSequence...hint) 即可,而对于layout xml布局文件而言,可以加入android:hint="单击输入姓名" 这行在你的 EditText 中即可。 ...输入提示颜色为灰色的,用户单击后自动清除,一般作用是告诉用户这个文本框需要输入的内容是什么。
方法一: 在 xml 文件中设置文本编辑框属性作字符数限制 如:android:maxLength="10" 即限制最大输入字符个数为10 方法二: 在代码中使用InputFilter 进行过滤...//editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); 即限定最大输入字符数为20 ?...对应的 activity 部分的调用为: ? 限制输入字符数为10个 main.xml 文件 ? 效果为输入了10个字符后,光标停在末尾 ?
密码的显示和隐藏是一个很常见的小知识点,主要包括2个部分:小图标的变化和EditText输入密码的显示和隐藏 小图标的变化 小图标的变化一般也有2种实现方式: (1)ImageView或ImageButton...这种方式需要声明一个全局的布尔型变量作为标志位,记录当前是显示密码还是隐藏密码 实现步骤: 首先当然是布局中添加了ImageView或ImageButton 然后在代码中设置点击监听,根据标志位在代码中动态的替换图片...,改变EditText的显示状态 (2)ToggleButton 这种方式需要写一个selector文件,根据state_checked值设置不同的图片 实现步骤: 首先布局中添加ToggleButton...onCheckedChanged方法,在这个方法里可以改变EditText的显示状态 EditText输入内容的显示和隐藏 也有2种方式可以实现:修改TransformationMethod和动态修改...你的每一点支持都是对我莫大的鼓励
在写文章之前提一下samples,里面有很多Android初学者可以学的东西,本文的效果也是来自其中。...其实samples在AS中的模拟器中就有展示的效果(API Demos) 代码如下: java文件中代码调用: Animation shake = AnimationUtils.loadAnimation...> android="http://schemas.android.com/apk/res/android" android:fromXDelta="0"...android:toXDelta="10" android:duration="1000" android:interpolator="@anim/cycle_7" /> cycle...> android="http://schemas.android.com/apk/res/android" android:cycles="7" />
今日需求,EditText内容为一串字符串,要求将用户软键盘输入的小写字母在输入的时候自动转为大写字母,反之亦然。 效果如下: ?...第一次做该需求,原先想法: EditText.addTextChangedListener(new TextWatcher() { @Override public...} @Override public void afterTextChanged(Editable s) { // 对输入后的内容进行二次处理...} }); 对于afterTextChanged回调方法里,对输入的字符串进行大小写转换,结果失败,因为每次转换之后实际就再次回调该方法导致死循环...两个字符数组,分别将对应位置的原始字符转换为要求后的字符。
基于Qml的TextField控件修改而成。...0x00 输入框代码 import QtQuick 2.0 import QtQuick.Controls 2.0 import QtGraphicalEffects 1.0 TextField {...checkedColor: "#D5DBDB" signal doubleClicked(var/*MouseEvent*/ event) placeholderText: qsTr("请输入内容...stop() _private.isCheckDoubleClickedEvent = 0 } } } } 0x01 输入框样式代码
AlertDialog 中有EditText却不弹出输入法的解决方法 问题很无厘头,方法很简单: 加上这句代码就好了 alertDialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM
---- 原因分析 mScrollView把事件消费掉了,没有传递到EditText,从而导致没法使得 EditText 响应事件 ---- 解决思路 当触摸的是EditText & 当前EditText...可滚动时,则将事件交给EditText处理,即进行滚动 否则将事件交由其父类处理,即交给ScrollView进行滚动 ---- 具体实现方案 复写EditText的onTouch()并 采用 requestDisallowInterceptTouchEvent...public boolean onTouch(View v, MotionEvent event) { // 当触摸的是EditText & 当前EditText可滚动时...ScrollView与嵌套的EditText滑动冲突问题哦。...接下来我将继续介绍 Android开发中的相关知识,感兴趣的同学可以继续关注本人博客Carson_Ho的开发笔记 请帮顶 / 点赞!因为你的鼓励是我写作的最大动力!
前言 Android开发中,EditText的使用 非常常见 本文将带来一款 附带一键删除功能 & 自定义样式丰富的 SuperEditText控件的使用,希望你们会喜欢。...功能介绍 2.1 需求场景 对于 EditText来说,一般的需求有: 方便用户因出现输入错误而进行2次输入 标识用户正在填写项 根据具体场景增加一定的UI元素 2.2 功能需求 根据需求场景,得出EditText...特点 对比市面上EditText控件,该控件Super_EditText 的特点是: 3.1 功能实用 一键删除功能 在需求中非常常见,现将其封装后更加方便使用 可自定义样式程度高(比自带的强大 & 方便...),不复杂却能满足一般的EditText使用需求 可自定义样式如下:(注:该样式的设置是系统自带的 API 所不具备的) 3.2 使用简单 仅需要简单的xml属性配置 下面1节会详细介绍其使用方法...3.3 二次开发成本低 本项目已在 Github上开源:Super_EditText 具备详细的源码分析文档:Android自定义View:手把手教你做一款简单实用的SuperEditText(一键删除
众所周知,EditText未输入字符时,我们可以给它显示默认的提示文字hint;可是一旦输入字符,这个hint提示就消失了,虽然没有提示也没有什么大碍,但有总比没有好呀。...*系列风格,比如Theme.Design.Light。但该方法不会限制输入的字符个数。 3、页面主题是Theme.AppCompat....> 文本输入编辑框TextInputEditText TextInputEditText是Android6.0后新加的编辑框控件,它的用法跟EditText没什么区别,之所以鼓捣这么一个新控件,是为了解决一个小小的问题...下面是使用TextInputLayout+EditText的横屏输入页面,可以看到此时编辑框内没有提示文字。 ?...点击下载本文用到的文本输入布局的工程代码 点此查看Android开发笔记的完整目录
在有EditText的界面 默认情况下不获取焦点(不弹出输入框)! 找网上找了一些解决方法像下面这些,都不能实现。...最后的解决方法是: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustPan|stateHidden....<activity android:name=".more.personinfo.ChangeInfoActivity" android:screenOrientation...="portrait" android:theme="@style/horizontal_slide" android:windowSoftInputMode
我们在做webApp 开发的时候,经常会碰到下拉菜单,二级甚至三级菜单联动的需求。通常我们会用iscroll模拟个可以弹性滚动的选择框,然后每次根据选择自己写一些回调逻辑。...一起来看看它的效果。(采用的是官方示例) 单列 双列 三列 Picker.js的好处就是:安卓4.3+ ,IOS7+ 兼容。...如果我们使用原生的DatePicker,流畅度可以保证。但是IOS和安卓UI不统一风格,而且选择内容固定为时间。 安装使用 Picker.js早期的版本还依赖zepto.js 和gmu.js。...但移动端上,需要的列数应该不会很多 之后便是事件的监听处理。...架子都搭好了,改吧改吧构建下,就能实现自己的特色需求!
原因分析 mScrollView把事件消费掉了,没有传递到EditText,从而导致没法使得 EditText 响应事件 ---- 解决思路 当触摸的是EditText & 当前EditText可滚动时...,则将事件交给EditText处理,即进行滚动 否则将事件交由其父类处理,即交给ScrollView进行滚动 具体实现方案 复写EditText的onTouch()并 采用 requestDisallowInterceptTouchEvent...(true)进行触碰事件拦截 关于为什么可以拦截事件,可以看看我写的事件分发机制:Android事件分发机制 详解攻略,您值得拥有 public class MainActivity extends...public boolean onTouch(View v, MotionEvent event) { // 当触摸的是EditText & 当前EditText可滚动时...ScrollView与嵌套的EditText滑动冲突问题哦。
在Textiew中可以通过设置TextView的属性 android:maxEms 和 android:ellipseize 来使过多的文字显示为省略号,但在在EditText中设置只这两个属性则不行,...android默认只有在文字不可编辑的状态下才可以显示这些效果,但是EditText重写了这个属性,使得文字默认都是可以编辑的。...所以若想要呈现TextView的效果,必须加上以下属性 android:editable= "false" 另外EditText不支持跑马等的效果.咱们来看看android源码 override public...这里呢, 建议大家自定义EditText并重写onTouchEvent方法,从外部进行控制是否获取焦点, 如下: class FocusEditText(context: Context, attrs:...AttributeSet) : EditText(context, attrs){ override fun onTouchEvent(event: MotionEvent?)
SharedPreferences 通过操作android的SharedPreferences类来完成xml文件的生成,增,删,改 的动作都由android系统内部模块完成和解析的。...="#ffffff" android:layout_margin="5sp" /> EditText android:layout_width=...EditText android:layout_width="200sp" android:layout_height="40sp" android:inputType...:background">#000000 为了改变activity的风格,增加喜爱的风格,可以修改这个style.xml, 详见...; import android.widget.EditText; import android.widget.Toast; import android.os.Bundle; public class