关于在 Android 上实现特定布局的方法的建议
Suggestions on approaches on achieving a specific layout on Android
我正在尝试在 Android
上复制以下布局(带有文本的框和一条在专用部分向外延伸的线)
很明显,这些框可以作为单独的视图(或可绘制的)实现,以具有如下形状
.
很明显,这些盒子需要有一定的灵活性,以便从它们中引出的“电线”,最重要的是决定线路的“转折点”。我想到了一些方法来实现这一点:
- 只需使用可绘制图像并将文本框定位在准确位置即可实现整个布局
- 使用专用视图实现此功能,以充分灵活地将文本框放置在任何位置并与所有屏幕尺寸兼容。
我倾向于尝试#2,但不知道从哪里开始。起初,我无法决定是应该使用 ViewGroup 作为基础 class 并添加 TextView 和普通视图作为子视图,还是应该使用单个视图来实现它?我担心的第二件事,是我是否想得太多,有一种简单的方法可以实现同样的事情(只是为了节省时间,没有别的)?
任何 help/guiding material 非常感谢。提前致谢。
我认为方法 2 从长远来看会更好。由于图像的性质,您必须保持纵横比;否则,这个人就会被拉长。因为您要保持纵横比(至少是人物部分),所以每个文本框和端点的位置可以表示为距边缘或中心线的百分比距离。
假设您显示的图像是整个图像,腹部端点可以设置为距左边缘距离的 45%,也可以设置为距顶部距离的 42%。文本框也可以同样放置。一旦放置了文本框和终点,线条就会简单地将它们连接起来。现在图像可以拉伸到任何尺寸以支持多种屏幕尺寸,并且只要遵守纵横比,并且看起来不错。
查看 ConstraintLayout 及其百分比指南和障碍。还有一些径向放置可能会有所帮助。您可能仍然需要用一些代码来支持布局,但是 ConstraintLayout 应该能够让您完成 95% 的解决方案。
编辑:我也想提一下偏见,这可能对你最有帮助。 是一个对可能有用的棋盘解决方案使用偏差的示例。
我正在尝试在 Android
上复制以下布局(带有文本的框和一条在专用部分向外延伸的线)很明显,这些框可以作为单独的视图(或可绘制的)实现,以具有如下形状
很明显,这些盒子需要有一定的灵活性,以便从它们中引出的“电线”,最重要的是决定线路的“转折点”。我想到了一些方法来实现这一点:
- 只需使用可绘制图像并将文本框定位在准确位置即可实现整个布局
- 使用专用视图实现此功能,以充分灵活地将文本框放置在任何位置并与所有屏幕尺寸兼容。
我倾向于尝试#2,但不知道从哪里开始。起初,我无法决定是应该使用 ViewGroup 作为基础 class 并添加 TextView 和普通视图作为子视图,还是应该使用单个视图来实现它?我担心的第二件事,是我是否想得太多,有一种简单的方法可以实现同样的事情(只是为了节省时间,没有别的)?
任何 help/guiding material 非常感谢。提前致谢。
我认为方法 2 从长远来看会更好。由于图像的性质,您必须保持纵横比;否则,这个人就会被拉长。因为您要保持纵横比(至少是人物部分),所以每个文本框和端点的位置可以表示为距边缘或中心线的百分比距离。
假设您显示的图像是整个图像,腹部端点可以设置为距左边缘距离的 45%,也可以设置为距顶部距离的 42%。文本框也可以同样放置。一旦放置了文本框和终点,线条就会简单地将它们连接起来。现在图像可以拉伸到任何尺寸以支持多种屏幕尺寸,并且只要遵守纵横比,并且看起来不错。
查看 ConstraintLayout 及其百分比指南和障碍。还有一些径向放置可能会有所帮助。您可能仍然需要用一些代码来支持布局,但是 ConstraintLayout 应该能够让您完成 95% 的解决方案。
编辑:我也想提一下偏见,这可能对你最有帮助。