方式一: 在ConstranLayout中实现

主要实现代码,dip2px方法自行百度,textView_top为顶部组件id

     val text = getString(R.string.text)val textLen = text.lengthval set = ConstraintSet()set.clone(constrainLayout)for (i in 0 until textLen) {val id = TextViewConstans.ids[i]val textView = TextView(this)textView.text = text[i].toString()textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 15f)textView.id = idconstrainLayout.addView(textView)//这两行不可缺少,不然textview不会显示set.constrainHeight(TextViewConstans.ids[i], ConstraintLayout.LayoutParams.WRAP_CONTENT)set.constrainWidth(TextViewConstans.ids[i], ConstraintLayout.LayoutParams.WRAP_CONTENT)when (i) {0 -> {set.connect(id, ConstraintSet.START, R.id.textView_top, ConstraintSet.START)//首字贴紧左边时注释//set.connect(id, ConstraintSet.END, TextViewConstans.ids[i + 1], ConstraintSet.START)set.connect(id, ConstraintSet.TOP, R.id.textView_top, ConstraintSet.BOTTOM, CommonUtil.dip2px(this, 10f))}agentStrLen - 1 -> {//尾字贴紧右边时注释//set.connect(id, ConstraintSet.START, TextViewConstans.ids[i - 1], ConstraintSet.END)set.connect(id, ConstraintSet.END, R.id.textView_top, ConstraintSet.END)set.connect(id, ConstraintSet.TOP, TextViewConstans.ids[0], ConstraintSet.TOP)set.connect(id, ConstraintSet.BOTTOM, TextViewConstans.ids[0], ConstraintSet.BOTTOM)}else -> {set.connect(id, ConstraintSet.START, TextViewConstans.ids[i - 1], ConstraintSet.END)set.connect(id, ConstraintSet.END, TextViewConstans.ids[i + 1], ConstraintSet.START)set.connect(id, ConstraintSet.TOP, TextViewConstans.ids[0], ConstraintSet.TOP)set.connect(id, ConstraintSet.BOTTOM, TextViewConstans.ids[0], ConstraintSet.BOTTOM)}}}set.applyTo(constrainLayout)

id集合,根据需要加减

object TextViewConstans {val ids = mutableListOf(R.id.textView_0,R.id.textView_1,R.id.textView_2,R.id.textView_3,R.id.textView_4,R.id.textView_5,R.id.textView_6,R.id.textView_7,R.id.textView_8,R.id.textView_9,R.id.textView_10,R.id.textView_11,R.id.textView_12,R.id.textView_13,R.id.textView_14,R.id.textView_15,R.id.textView_16,R.id.textView_17,R.id.textView_18,R.id.textView_19)
}

定义ids.xml

***这里注意不要写成***
<item name="textView_0" type="id">textView_0</item>
会报 error: <item> inner element must either be a resource reference or empty.
<?xml version="1.0" encoding="utf-8"?>
<resources><item name="textView_0" type="id"/><item name="textView_1" type="id"/><item name="textView_2" type="id"/><item name="textView_3" type="id"/><item name="textView_4" type="id"/><item name="textView_5" type="id"/><item name="textView_6" type="id"/><item name="textView_7" type="id"/><item name="textView_8" type="id"/><item name="textView_9" type="id"/><item name="textView_10" type="id"/><item name="textView_11" type="id"/><item name="textView_12" type="id"/><item name="textView_13" type="id"/><item name="textView_14" type="id"/><item name="textView_15" type="id"/><item name="textView_16" type="id"/><item name="textView_17" type="id"/><item name="textView_18" type="id"/><item name="textView_19" type="id"/>
</resources>

方式二: 在LinearLayout中实现,使用横向排列,设置weight,这里就不贴代码了

TextView两端对齐相关推荐

  1. android字符串两端对齐,一种AndroidTextView两端对齐的实现方法与流程

    技术特征: 1.一种Android TextView两端对齐的实现方法,其特征在于,包括: 数据管理器拿到系统属性,从缓存管理器中获取测量数据: 测量管理器从数据管理器中获取各种所需系统属性与文本内容 ...

  2. Android TextView 文字两端对齐

    Android 自带的 TextView 的对齐方式只能左对齐或者右对齐,如果想要两端都对齐就需要自定义控件,但是有一个更简单的方法就是使用 WebView, 通过设置 text-align:just ...

  3. android TextView 分散对齐(两端对齐)

    很多时候我们在做UI的时候会遇到要求文字两端对齐,对于习惯了使用wrap_content的我们来说确实很头疼. 经过查询资料我们发现有以下方法可以解决:感谢下面作者为我们提供的两种方案: http:/ ...

  4. 安卓中实现两端对齐,中间fill_parent的方法

    安卓中实现两端对齐,中间fill_parent的方法 <?xml version="1.0″ encoding="utf-8″?> <LinearLayout x ...

  5. LinearLayout下如何实现两端对齐

    LinearLayout下如何实现两端对齐 今天在做一个东西 需要在LinearLayout下实现两端对齐 但是设置layout_gravity属性并不起作用,于是百度了一下 发现在xml文件里加上这 ...

  6. android两端对齐

    最近在研究怎么在android上实现两端对齐.因为如果用TextView的话,他的换行逻辑总是能够让右边对不齐,但是各种阅读软件里面这样子又很不美观.现在很多人采用的做法是在webview中写css样 ...

  7. display:inline-block+text-align:justify实现列表元素的两端对齐

    display:inline-block+text-align:justify实现列表元素的两端对齐. 2011-09-21 08:49:22 display:inline-block+text-al ...

  8. css之文本两端对齐的两种解决方法

    css之文本两端对齐的两种解决方法 参考文章: (1)css之文本两端对齐的两种解决方法 (2)https://www.cnblogs.com/wl0804/p/11265225.html 备忘一下.

  9. div+css如何让一行内的文字两端对齐?

    css如何让一行内的文字两端对齐? text-align:justify;. text-justify语法:text-justify : auto |inter-word | newspaper | ...

最新文章

  1. xshell中mysql命令大全_Linux之Xshell脚本代码实例
  2. Microsoft Edge浏览器最新版已经换成开源Chromium引擎了,附官方下载地址
  3. 递归和迭代_迭代与递归
  4. 简单的实现登录拦截及统一异常处理(自定义异常)
  5. Oracle优化-表设计
  6. PL/SQL Developer 使用技巧小结(转)
  7. 红米Note 8 Pro新配色公布:轻盈一握宛若浮华在手
  8. SAP License:雾里看花系列——换种思维来看待SAP
  9. Android开发的内存问题
  10. 语义噪声 | 语义网:重新发明轮子,创新者的窘境
  11. GitHub上java的开源项目(java程序员必备)
  12. 利用python实现方差分析
  13. 伺服舵机基础知识汇总
  14. 快速非支配排序 python版
  15. 第一次创建百度脑图介绍自己,把创建过程分享一下吧,嘿嘿。
  16. 用计算机算出用不用减肥,体脂率计算器有什么用
  17. 路由器上网流程以及nat内网ip
  18. altiumDesigner中文改成英文操作过程。
  19. ZOJ4105 Abbreviation
  20. !=EOF的含义和原理

热门文章

  1. 利用Java实现的一个简易的账号注册类
  2. 国防科技大学计算机学科带头人,国防科大张春元教授应邀来我校讲座
  3. JS写一个列表跑马灯效果--基于touchslide.js
  4. 跟着迪哥学python 经管之家_经管之家俱乐部:市面上并不多见的经管学习圈子!...
  5. 创新精神催人奋进:Ubuntu 14.04发布
  6. XMU 1056 瞌睡 vs 听课 【动态规划】
  7. android wal模式,WCDB 的 WAL 模式和异步 Checkpoint
  8. python long类型_python 数据类型
  9. AI 绘画 - 建筑绘图辅助设计之 SD 基础
  10. 5000字 大数据时代读书笔记_《大数据时代读书笔记》