首页 > 解决方案 > Android 如何实现基于箭头的布局?

问题描述

我想知道如何实现这样的基于箭头的布局:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

关于什么 Layout 正在使用此应用程序以实现该布局的任何想法?这似乎是一种交错网格布局?或者也许正在使用库或自定义布局?我怎样才能实现类似的目标?

标签: androidandroid-recyclerviewstaggered-gridviewstaggeredgridlayoutstaggeredgridlayoutmanager

解决方案


所以这就是我将如何做这样的事情。

我做了一堆自定义视图。

自定义视图#1:PokemonView。这是一个常规的约束布局或 CardView,其中包含所有用于显示 pokemon 的项目、它的名称以及所有其他内容。

自定义视图#2 EvolutionPokeminView。这是一个自定义约束布局,包含 PokemonView、Arrow ImageView(和下面的 TextView),以及将箭头放置在不同方向的辅助方法。

例如: setArrowDirection(int direction) \direction 是所有方向的某种枚举(top、topLeft、topRight..等

另一个辅助方法是 setArrorPosition, setArrowPosition(int direction)

然后使用箭头方向方法将正确的箭头图像设置到 arrowImageView 中,并使用箭头位置方法以ConstraintSet编程方式设置箭头相对于口袋妖怪图像的正确位置。

之后,您准备一些常见的布局以用于不同的数据集并相应地填充它们。

要使这种方法起作用,您需要知道的事情。如何在 Android 中制作自定义视图。如何有效地使用 ConstraintLayout。如何使用 ConstraintSet 以编程方式编辑 ConstraintLayout 约束。


推荐阅读