Android 小数点前后字体大小不一致,EditText限制小数点前后位数的实例
在EditText输入数字的时候,通常我们需要限制小数点前后位数。比如金额输入一般我们需要限制小数点后面最多2位。我们可以通过 TextWatcher 实现。
public class MyWatcher implements TextWatcher {
private int beforeDot;
private int afterDot;
/**
* 构造器
*
* @param beforeDot 小数点前位数 不限制输入-1
* @param afterDot 小数点后位数 不限制输入-1
*/
public MyWatcher(int beforeDot, int afterDot) {
this.beforeDot = beforeDot;
this.afterDot = afterDot;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
judge(s);
}
private void judge(Editable editable) {
String temp = editable.toString();
int posDot = temp.indexOf(".");
//直接输入小数点的情况
if (posDot == 0) {
editable.insert(0, "0");
return;
}
//连续输入0
if (temp.equals("00")) {
editable.delete(1, 2);
return;
}
//输入"08" 等类似情况
if (temp.startsWith("0") && temp.length() > 1 && (posDot == -1 || posDot > 1)) {
editable.delete(0, 1);
return;
}
//不包含小数点 不限制小数点前位数
if (posDot < 0 && beforeDot == -1) {
//do nothing 仅仅为了理解逻辑而已
return;
} else if (posDot < 0 && beforeDot != -1) {
//不包含小数点 限制小数点前位数
if (temp.length() <= beforeDot) {
//do nothing 仅仅为了理解逻辑而已
} else {
editable.delete(beforeDot, beforeDot + 1);
}
return;
}
//如果包含小数点 限制小数点后位数
if (temp.length() - posDot - 1 > afterDot && afterDot != -1) {
editable.delete(posDot + afterDot + 1, posDot + afterDot + 2);//删除小数点后多余位数
}
}
}
使用的时候 如下:
android:id="@+id/et_i_want"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:hint="0.00"
android:inputType="numberDecimal"/>etIWant.addTextChangedListener(new MyWatcher(-1, 2));//限制小数点后最多2位
以上这篇EditText限制小数点前后位数的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
Android 小数点前后字体大小不一致,EditText限制小数点前后位数的实例相关推荐
- Android禁止app字体大小跟随系统字体大小调节
Android禁止app字体大小跟随系统字体大小调节 针对字体不随系统应用改变而改变,不然会导致原来的一些布局变化,在Application中重写getResources() @Overridepub ...
- java如何输出大小不同的字_Eclipse下中英文字体大小不一致,如何解决
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:Eclipse下中英文字体大小不一致,如何解决回答:默认的是Courier字体吧?换成Courier New字体就好了,大小不用改. ...
- OCR:OCR识别如何处理字体大小不一致的问题
1.问题 OCR识别如何处理字体大小不一致的问题? 2.问题原因 因为图片中的文字大小不一致,导致识别不准确 3.解决方案 设置识别和检测的阈值,但是只能提升部分准确率,无法从根本上解决问题
- Android 中的字体大小适配
Android系统中可以设置字体大小,对于一些设置了特大号字体的设备,往往会出现布局错乱的情况,对此,需要做相关的字体大小适配.根据聊聊 Android 中的字体大小适配这篇博客提供的方案,进行了一些 ...
- Android全局修改字体大小,Android 仿微信全局字体大小调整
image 目录 一.前言 二.效果预览 三.实现步骤 1.自定义字体调整控件 2.滑动按钮改变当前页面预览字体大小 3.返回时,保存放大倍数并重启应用 4.初始化应用时配置字体放大倍数. 四.Dem ...
- android 使用ios字体大小,ios和android上的字体大小不同
您将密度设置为1.0,并告诉Android的WebView在您以特定方式声明视口时不会缩放任何东西.您可以删除该视口声明,然后会导致图像缩放以及字体,或者可以基于用户运行应用程序的Android设备修 ...
- android设置应用字体大小,在Android应用程序改变的TextView的字体大小从原始设置更改字体大小(Font size...
我想在我的应用程序指定我自己的文字大小,但我有这样一个问题. 当我在设备设置中更改字体大小,我的应用程序的字体大小TextView也会改变. Answer 1: 其实,设置字体大小只影响大小sp . ...
- android studio app字体大小设置,Android Studio App设置TextView文字内容大小颜色
设置TextView文字内容大小颜色 1.第一种方法在activity_main.xml李设置,Java文件不用改: android:text="这里是文字" android:te ...
- Android TextView自动调整字体大小(官方)
官方在 Android 8.0(API26)给TextView,新增字体大小随着控件的大小变化的特性. 如果使用 appcompat 兼容库,可以向下支持到Android 4.0(AP14). 1.自 ...
最新文章
- Haskell / GHC中的“ forall”关键字有什么作用?
- 寻找数组变化:树形结构,分治模型
- 翻手算法php,PHP各种常见经典算法总结【排序、查找、翻转等】
- 世界粮农组织五大健康食品_粮农组织的完整形式是什么?
- ORACLE索引重建方法与索引的三种状态
- sqlserver 字符串中是不是全为数字
- scipy —— 丰富的子包(io、cluster)
- git入门:安装配置 创建版本库
- Atitit 数据挖掘技术体系 目录 1. 统计分析(分组聚合等	1 2. Tag标注 结构化	1 2.1. · 复杂数据类型挖掘(Text, Web	2 2.2. ,图形图像,视频,音频等)	2
- 在ppt中怎么加入倒计时 里面怎么加入倒计时【方法】
- 辩证法——自然观、自然科学方法论和科学观
- Cross-lingual Document Retrieval using Regularized Wasserstein Distance
- 月薪40K+银行测试经理,自动化测试实践经验分享
- ios接入GameCenter登录
- “体验版”PyTorch 2.0备受瞩目,它到底好在哪里?
- 2022届中考倒计时倒计时
- 不同的丘脑皮层网络动力学与慢性腰痛的病理生理学有关
- echarts省级地图展示(包含3D地图)
- 父类声明子类实例化对象详解
- Linux系统怎么使用扫描仪,Linux系统中Nmap扫描命令的使用方法 -电脑资料
热门文章
- JAVA 创建文件和文件夹,删除文件和文件夹,复制文件和文件夹,移动文件和文件夹的实用工具类
- (附源码)springboor大学生防疫封校管理系统 毕业设计632124
- 救市重炮轮番轰炸 美欧央行联手将无限额注资
- 机器学习(十八)应用实例:照片OCR
- java eles什么意思_Springboot 那么大,不用什么场景都用它吧,要不尝试下 Mars- Java ?...
- 兔子生兔子循环python_python 实现兔子生兔子示例
- 南京 雅趣 php,书房雅趣-南京大学校报电子版《南京大学报》
- item_search - 根据关键词获取义乌购商品列表
- 名悦集团带你解析汽车底盘维护的那些小知识
- KMP算法求循环节,为什么能求循环节