技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 移动开发 > android > 正文

如何使得EditText控件不会因输入字符过长而改变长度?

来源: 技术CTO 阅读:

如题,我不想在布局中用类似于android:layout_width="100dp"的方法写死控件长度。
开始布局是这样的:
\
而输入过长字符后:
\

怎么才能使得EditText控件长度不变,求解

求解,求解呀!
自顶,自顶~
自顶,自顶~
换个布局方式试试
引用 4 楼 seevc 的回复:
换个布局方式试试
 

怎么个换,我是想知道这种情况你会是这么做?没碰到一样的情况?
自顶,自顶~
给edittext设置固定宽度值就不会自动变长了
引用 7 楼 sasuke38 的回复:
给edittext设置固定宽度值就不会自动变长了


我就是不想固定,难道没有别的解决方案?
你布局是怎么写的
把name和输入框的layout_width都修改成fill_parent试试
android:maxLength="88"


设置这个属性看看
水平,设置和旁边的TextView用layout_weight设置下比例,然后设置下EditText的singleLine为true即可
引用 12 楼 DrSmart 的回复:
水平,设置和旁边的TextView用layout_weight设置下比例,然后设置下EditText的singleLine为true即可


引用 11 楼 sasuke38 的回复:
android:maxLength="88"


设置这个属性看看


都没用!!!在EditText中输入的时候不会变,但一旦失去焦点,就被拉伸了,难道就没有大神有相关的开发项目的经验?
发布局文件上来看看
singleLine
这个只能说和布局有关    要保证edittext存放的空间是一定的    比如用layout_weight属性之类的   或者fiil_parent之类的
如果不想直接使用固定值,也有很多间接的固定方式呀, 比如使用maxWidth这个属性;也可以使用跟左边TextView通过设置layout_weight来间接固定;还可以marginLeft多少等等,布局嘛,慢慢搞!
应该是左边的TextView的问题,你的TextView的属性怎么写的?
呵呵。。。可以添加
android:singleLine="true"
android:maxWidth="3dp"
这两个属性吧。。试试
你只要把宽度设置为一个固定的dp值就可以了
给第一个textview加个padding增加边距,给EditText设置layou_width="0dip" android:layout_weight="1"
布局晒出来瞅瞅
引用 1 楼 buffalo_fyp 的回复:
求解,求解呀!


话说你这事什么需求啊,是为了自适应屏幕吗?
添加 android:layout_weight="match_parent"
试试 ,
另外在 onCreate 方法中设置只能输入的长度
 editText.getEditText.setFilters(new InputFilter[]{new InputFilter(30)});// 可以设定需要设定的长度
我也遇到一样的问题,然后我将宽度改为了fill_parent 然后宽度的问题解决了,

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^