如何制作之字形布局?
How to make a zig-zag layout?
我想创建与下图相同的之字形布局:
我尝试了很多方法来创建对角线并用图标排列它们,但无法做到完全相同。
我在以下问题的已接受答案的帮助下实现了对角线:
- Diagonal line across view
- How rotate line in Android XML?
然而,我坚持使用与图像中完全相同的图标排列线条。
如果每个圆形项目都有布局,您可以使用相对布局来对齐它们,使用 align_below、align_left 带边距、align_right 带边距标签。
请提供更多详细信息,连接它们的线路是什么以及 UI 和功能的具体要求是什么。
我创建了这个自定义 ZigZagLayout.java 文件来满足您的要求。您只需更新第一行中的包名称。
它基本上扩展了 RelativeLayout
,因此您可以像使用任何其他 ViewGroup
class 一样在布局 xml 中使用它。实例化此布局后,只需向其添加子视图,就像通过 addView(View child)
.
为 RelativeLayout
所做的那样
动态创建视图的示例代码片段:
ZigZagLayout zigZagLayout = (ZigZagLayout) findViewById(R.id.layout_zigzag);
Button btn = new Button(this);
btn.setText("Test Button");
btn.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
zigZagLayout.addView(btn);
我还为此 ZigZagLayout
添加了一些接口,以便您轻松进行交互,例如设置连接线笔划宽度、可见性、颜色、边距等的能力。
试试看,如果它满足您的要求,请告诉我。干杯。
我想创建与下图相同的之字形布局:
我尝试了很多方法来创建对角线并用图标排列它们,但无法做到完全相同。
我在以下问题的已接受答案的帮助下实现了对角线:
- Diagonal line across view
- How rotate line in Android XML?
然而,我坚持使用与图像中完全相同的图标排列线条。
如果每个圆形项目都有布局,您可以使用相对布局来对齐它们,使用 align_below、align_left 带边距、align_right 带边距标签。 请提供更多详细信息,连接它们的线路是什么以及 UI 和功能的具体要求是什么。
我创建了这个自定义 ZigZagLayout.java 文件来满足您的要求。您只需更新第一行中的包名称。
它基本上扩展了 RelativeLayout
,因此您可以像使用任何其他 ViewGroup
class 一样在布局 xml 中使用它。实例化此布局后,只需向其添加子视图,就像通过 addView(View child)
.
RelativeLayout
所做的那样
动态创建视图的示例代码片段:
ZigZagLayout zigZagLayout = (ZigZagLayout) findViewById(R.id.layout_zigzag);
Button btn = new Button(this);
btn.setText("Test Button");
btn.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
zigZagLayout.addView(btn);
我还为此 ZigZagLayout
添加了一些接口,以便您轻松进行交互,例如设置连接线笔划宽度、可见性、颜色、边距等的能力。
试试看,如果它满足您的要求,请告诉我。干杯。