1.TextView 禁止换行
目标:
实现TextView不换行:有内容将显示到同一行中;如果装不下,就会打省略号。
解决:
在布局文件中设置
android:singleLine="true"
即可。
<TextView
android:id="@+id/tv"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:singleLine="true"
android:textColor="#FFFFFF"
android:text="@string/hello_world"
android:background="#000000"/>
容易产生的误区或Bug
:
在XML定义中设置
android:scrollHorizontally="true"
android:singleLine="false
无法实现效果。这是Android的一个Bug!直到版本4.1以上还没有修复!
解决:
在JAVA代码中用EditText调用
setHorizontallyScrolling(true);
设置即可。
在JAVA的avtivity文件中:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText ev = (EditText) findViewById(R.id.ev);
ev.setHorizontallyScrolling(true);
布局文件可以根据自己需要设置,我只给出一个演示代码:
<EditText
android:id="@+id/ev"
android:layout_width="300dp"
android:layout_height="300dp"
android:layout_centerHorizontal="true"
android:background="#FFFF00"
android:text="@string/hello_world"
android:autoLink :设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web /email/phone/map/all)
android:autoText :如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起
Android EditText,在某些场景下,比如输入用户名,或者输入密码,我们希望限制用户只输入一行,或者不希望文本框换行,这里说一下正确的解法。
如果需要设置的话,很简单,用maxLines即可,示例如下:
<EditText
android:maxLines="1"
android:layout_width="wrap_content"
android:inputType="text"
android:layout_height="wrap_content
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="0"
——每天写一篇博客,每天做一点技术积累!
最近版本迭代的新增收货地址模块出现地址填写时点击换行,然后网络提交数据到后台,在地址列表查看地址时,也出现换行的问题。
问题效果图:
1、分析原因
用Google的DHC工具进行网络模拟请求,发现返回数据结果如下:
今天忽然发现android项目中的文字排版参差不齐的情况非常严重,不得不想办法解决一下。经过研究之后,终于找到了textview自动换行导致混乱的原因了----半角字符与全角字符混乱所致!一般情况下,我们输入的数字、字母以及英文标点都是半角,所以占位无法确定。它们与汉字的占位大大的不同,由于这个原因,导致很多文字的排版都是参差不齐的。对此找到了两种办法可以解决这个问题:
1. 将text
不知道大家在安卓手机上用过DroidEdit,920编辑器,ES文件管理器,或者QuickEdit,这些app都有一个文本编辑器的功能,说起文本编辑器代码,我找到很多资源,都没有我想要的类型,就是文本不要自动换行,比如大家用手机下载一个java源代码文件,你要是用自动换行,你在手机上看代码着实很累了,所有输入框必须实现不自动换行的功能,并且文本内容可以随手指滚动,但是问题来了,我在网上找了半天,也没找到具体怎么实现的,我还浪费了时间和金钱,所以借这个平台分享一下,帮助别人也是帮助自己,其实把xml文件弄好就可以了,我弄的比较简单,有点基础的很容易看懂,不懂的百度都可以找的到,我弄的这个EditText把自动换行取消了大家根据我的文件自己可以java代码把更多功能做好,我就不做那么多了,下载要2积分,这不是我强行弄的,大家有积分赏一点,没积分可以联系我,我发给你,当然并不能马上建议你,偷偷告诉大家,其实这个xml可以说是我写的,也可以说不是我写的,我是好不容易借鉴过来的是,当然绝对不是在网上找文章,找代码抄的。。。
在做一个登录页面的时候,发现了输入手机号的EditText可以输入回车的bug,影响用户体验,在此分享下解决办法。
百度了很多,都是设置singline=true的或者设置maxLines="1"(因为singline=true已经提示过时),但是都不起作用,无意中发现输入密码的EditText没有问题,
于是检查了下发现两个EditText唯一的区别在于inputType类型的不同...
在某种情况下需要将TextView里面的文本进行换行,这时候只需要在将要换行的前面加上 \n
1.更新内容;\n2.更新内容啦;\n3.更新内容,赶紧查看;\n1.更新内容
在Android Studio上显示不出来效果,但是你运行起来,跑真机上就可以了。
关注「蛇崽网盘教程资源」公众号 ,在微信后台回复「领取资源」,获取IT资源200G干货大全。
更多资源请访问:
超详细图文搭建个...
好的,我可以回答你的问题。在布局文件中定义TextView和EditText控件的唯一标识名、宽度、高度、字体颜色、大小属性的过程如下:
1. 唯一标识名:在布局文件中为TextView或EditText控件设置一个唯一的id值,以便在Java代码中引用该控件。
<TextView
android:id="@+id/my_textview"
... />
<EditText
android:id="@+id/my_edittext"
... />
2. 宽度和高度:可以设置控件的宽度和高度属性,可以使用具体值,也可以使用match_parent或wrap_content作为属性值。
<TextView
android:id="@+id/my_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
... />
<EditText
android:id="@+id/my_edittext"
android:layout_width="100dp"
android:layout_height="wrap_content"
... />
3. 字体颜色和大小:可以设置控件的字体颜色和大小属性,可以使用具体值,也可以使用资源文件。
<TextView
android:id="@+id/my_textview"
android:textColor="#000000"
android:textSize="16sp"
<EditText
android:id="@+id/my_edittext"
android:textColor="@color/text_color"
android:textSize="@dimen/text_size"
... />
以上就是在布局文件中定义TextView和EditText控件的唯一标识名、宽度、高度、字体颜色、大小属性的过程。希望能解决你的问题。