Android 如何实现基于箭头的布局?
Posted
技术标签:
【中文标题】Android 如何实现基于箭头的布局?【英文标题】:Android how can I achieve a arrow based layout? 【发布时间】:2020-12-22 21:35:14 【问题描述】:我想知道如何实现这样的基于箭头的布局:
您知道什么 Layout 正在使用此应用程序来实现该布局吗?这似乎是一种交错网格布局?或者也许正在使用库或自定义布局?我怎样才能实现类似的目标?
【问题讨论】:
使用此图标 icons8.com/icon/pack/arrows/metro 。否则,您可以在 drawable 文件夹中的矢量图像中构建自定义箭头。 尝试在开发者选项中打开“显示布局边界”。它不会解决您的问题,但它可能会为您提供解决方法的想法 【参考方案1】:这就是我将如何做这样的事情。
我做了一堆自定义视图。
自定义视图 #1: 口袋妖怪视图。 这是一个常规的约束布局或 CardView,其中包含所有用于显示 pokemon 的项目、它的名称以及所有其他内容。
自定义视图 #2 EvolutionPokeminView。 这是一个自定义约束布局,包含 PokemonView、Arrow ImageView(和下面的 TextView),以及将箭头放置在不同方向的辅助方法。
例如: setArrowDirection(int direction) \direction 是所有方向的某种枚举(top、topLeft、topRight..等
另一个辅助方法是 setArrorPosition, setArrowPosition(int方向)
然后您使用箭头方向方法将正确的箭头图像设置到 arrowImageView 中,并使用箭头位置方法使用ConstraintSet
以编程方式设置箭头相对于口袋妖怪图像的正确位置。
之后,您准备一些通用布局以用于不同的数据集并相应地填充它们。
要使这种方法奏效,您需要了解的事项。 如何在 android 中制作自定义视图。 如何有效地使用 ConstraintLayout。 如何使用 ConstraintSet 以编程方式编辑 ConstraintLayout 约束。
【讨论】:
以上是关于Android 如何实现基于箭头的布局?的主要内容,如果未能解决你的问题,请参考以下文章
四个div,单击箭头左右移动,怎么可以实现自动轮播。单击一次移动 一个div??
如何实现在动态布局中添加更多视图在android中实现滚动视图