android - Android ListView 项目布局变化
问题描述
我有一个 ListView(将移至 RecyclerView),其 ListView Item XML 布局在 LinearLayout 中包含 3 个 TextView。我的用户偏好允许左手或右手使用。在这种情况下,我想更改项目布局文件中 TextViews 的顺序。
这里首选的设计模式是什么?我怎么做?
- 我是否要创建两个不同的项目 XML 布局文件,一个用于左侧,一个用于右侧?这似乎是在不同的 XML 布局文件中复制相同的 TextView 的重复工作;只是改变顺序。
- 我是否以编程方式更改代码中 TextViews 的顺序?如何?
- 还有其他我不知道的方法吗?
只是想学习并以正确的方式去做。
解决方案
您可以尝试在一个 xml 布局中使用 2 组 TextView。改变他们的可见性将成为惯用左手或惯用右手的人的诀窍。但是,无论如何,这是观点的重复。
或者,您可以使用 ConstraintLayout 并以编程方式更改视图的 ConstraintSet,具体取决于选择的首选项。
val constrSet = ConstraintSet()
constrSet.clone(parentLayout)
constrSet.connect(textView1.id, ConstraintSet.END, textView2.id, ConstraintSet.START)
constrSet.applyTo(parentLayout)
推荐阅读
- javascript - 通过扫描输入 Javascript 创建图像
- node.js - 最新版本的 puppeteer-2.1.1 不适用于代理
- c# - 链接时使用 IAuthenticationHandler 出现错误 XA2006
- firebase - 如何从 DropdownButtonFormField 中获取两个值
- laravel - laravel 中的作曲家自动加载
- html - Bootstrap-如何以不同的对齐方式对齐 5 个图像?
- docker - Kubernetes 上的 Spark“ClassNotFoundException”
- javascript - JS jQuery用多个按钮用逗号分隔的值填充输入文本字段
- python - Open3d 可以在 RGB 模式下可视化点云吗?
- visual-studio - Visual Studio 2019 - 自动签出某些文件