您的位置:首页 > 其它

EditText单行、多行和自动换行显示内容

2016-12-17 14:30 495 查看


EditText单行、多行和自动换行显示内容

  


 

由于上述相关属性都来自继承的TextView,那么先说说TextView的单行、多行的应用场景:

1) TextView默认是多行显示的,并且能够自动换行。不过自动换行时对中文处理的不是很好,很容易在控件边框附近出现空白间隙。要想处理这种情况只能够去自定义TextView了,具体可查看Android自定义view-文本自动换行。不过这种方式并不是很好,建议使用自带的StaticLayout类来对内容进行显示处理。

2) TextView被用来显示标题等类似内容时需要单行显示。只要设置android:singleLine=”true” 即可。此时也可以设置跑马灯效果,具体查看[Android教程]TextView属性android:ellipsize实现跑马灯效果

现在来说说EditText,它默认也是多行显示和自动换行的,单行设置跟TextView是相同的。由于设备屏幕大小限制,大部分情况EditText都需要单行显示。

相关代码:

       android:id="@+id/etTest" android:singleLine="true"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"/>

 

 

默认的edittext是不会自动换行的,那么我们只好去代码中寻求解决之道

 

EditText editText = new EditText(this);  

//设置EditText的显示方式为多行文本输入  

editText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);  

//文本显示的位置在EditText的最上方  

editText.setGravity(Gravity.TOP);  

editText.setText("1233333333333333333333333333333333333333333333333333333333333333333333333333");  

//改变默认的单行模式  

editText.setSingleLine(false);  

//水平滚动设置为False  

editText.setHorizontallyScrolling(false);  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: