android - 在 GridView 中的项目之间添加 View

标签 android gridview

我有一个可滚动的 GridView,其中项目之间有相当多的空白空间。对于网格中的一些对象,我想添加从一个对象到另一个的箭头图像

引用我的意思,想想魔兽世界的天赋树(http://calculators.iradei.eu/talents/mage)。您会看到一些天赋有从一项指向另一项的箭头。

我正在处理的布局只包含一个框架布局中的 gridview,没有别的

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="4"
        android:scrollbars="none"
        android:id="@+id/talent_tree_grid_view">
    </GridView>

</FrameLayout>

我正在尝试在代码中添加这些 ImageView,因为我认为没有任何方法可以将此逻辑添加到 GridView 的适配器中。

我已经尝试根据 GridView 项目的 x 和 y 坐标将它们添加为父 FrameLayout 的子级,这可行,但是当滚动 GridView 时,箭头不会同时滚动

我也试过直接将它们添加为 GridView 的子级,但它不支持这种行为(它抛出 java.lang.UnsupportedOperationException)

关于如何在 gridview 项之间添加这些 ImageView ,有什么想法吗?

最佳答案

这听起来与 Romain Guy 的“Shelves”应用非常相似,其中使用自定义 GridView 并且书架的背景图像滚动。看项目here .可以在源代码中的文件 ShelvesView.java 中找到自定义 GridView 的源代码。 Guy Romain 的快速介绍是 here ;

对于箭头,您可能需要考虑 9-patch drawable .


我对上述方法进行了更多研究,并有一个基于 谷歌的Hello GridView example .

以这个示例应用程序为例,我构建了一个自定义 GridView (DogsGridView.java) 并将照片连接到空单元格中,类似于您的魔兽世界天赋树示例。我只使用简单的线条,但可以修改类以使用箭头或其他图形连接单元格。

这是一个quick video与连接线。这是 another带有 9 个补丁箭头。

工程源码可以找到here .

关于android - 在 GridView 中的项目之间添加 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44232074/

相关文章:

c# - 返回 Gridview 复选框 bool 值

Android gridview 在前台打开图片

php - 向 GridView 小部件添加过滤器

java - SQLite DatabaseHelper 类不创建数据库

android - Eclipse Kepler 在创建新的 Android 应用程序项目时崩溃

android - 使用 Spinner 改变 webView

机器人: GridView

php - 不打印网格线

android - 回收站 View : disable scroll if there is enough room for all items

java - 如何在没有操作的情况下取消选中复选框然后进行检查?