动态设置TextView的对齐方式以及getLineCount的使用
2018-04-13 15:28
302 查看
项目中遇到TextView一行文本的时候右对齐,多行文本的时候左对齐。
通过布局文件无法实现。所以需要动态设置
想通过使用Textview的getLineCount()获取文本行数。
遇到的问题是getLineCount()的结果始终为0。
解决方法是使用View.post(Runnable)方法,在Runable里面执行获取行数的方法。
代码如下:
效果如下:
通过布局文件无法实现。所以需要动态设置
想通过使用Textview的getLineCount()获取文本行数。
遇到的问题是getLineCount()的结果始终为0。
解决方法是使用View.post(Runnable)方法,在Runable里面执行获取行数的方法。
代码如下:
//TextView设置文本 model_tv.setText(" 车型名称多行文本的时候需要做动态设置左右对齐" ); //开启线程获取行数,进行判断和设置UI model_tv.post(new Runnable() { @Override public void run() { if (model_tv.getLineCount() > 1) //多余一行左对齐 model_tv.setGravity(Gravity.LEFT); else //一行右对齐 model_tv.setGravity(Gravity.RIGHT); } });
效果如下:
相关文章推荐
- Linux下时间/时区的设置以及gettimeofday()函数的使用方法
- (经典)struct和 union用 sizeof 看字节对齐,以及__declspec( align( # ) ) 和 #pragma pack()的使用方式
- 浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- java使用http get以及post方式读取网络数据
- C#使用WinAPI 修改电源设置,临时禁止笔记本合上盖子时睡眠(使用PowerGetActiveScheme等函数,以及C#对WINAPI的调用)
- 获取listview中的子元素view, 设置textview的图标:setCompoundDrawables使用, view.textView.getHeight()为0
- Android 使用GET和PUT方式以及用HttpClient方式向web服务器提交参数
- 浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- html使用display:inline-block实现标签右对齐,值左对齐效果。和设置div宽度,并居中显示。嵌套div的里层div文字居中显示
- jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
- MFC的CEidt中GetLineCount(),LineIndex(),LineLength(),GetLine()函数使用
- VMWare安装Ubuntu10.10 server版的NAT方式上网方法,以及apt-get使用公司代理安装程序的方法
- iOS App3D Touch快捷键的静态以及动态设置详细使用
- 浅谈使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- Java中JTbale使用—设置单元格对齐方式
- TextView中getLineCount()返回为0
- 使用Ida 4000 动态调试Android 中的so文件的方式以及技巧
- 使用Fiddler工具发送post请求(带有json数据)以及get请求(Header方式传参)
- 关于Entity Framework更新的几种方式以及可能遇到的问题(附加类型“Model”的实体失败,因为相同类型的其他实体已具有相同的主键值)在使用 "Attach" 方法或者将实体的状态设置为 "Unchanged" 或 "Modified" 时如果图形中的任何实体具有冲突键值,则可能会发生上述行为
- Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数