【问题标题】:Android: how to show and move ImageView in TableLayoutAndroid:如何在 TableLayout 中显示和移动 ImageView
【发布时间】:2011-06-11 00:03:11
【问题描述】:

我在TableLayout 中显示了一个TextViews 网格。当用户点击TextView 时,我需要通过添加ImageView 来更改单元格的背景,当点击其他单元格时,该ImageView 将转到另一个单元格。
在 Android 中执行此操作的最佳方式是什么?

【问题讨论】:

  • 你最后一句话我没看懂,你能再描述一下吗?
  • 我需要将 ImageView 移动到 TableLayout 中的某个位置...我该怎么做?

标签: android imageview tablelayout


【解决方案1】:

TextView 可以有一个图像(可绘制)作为背景。所以很容易做到 textView.setBackgroundDrawable(R.drawable.myimage);

您可以使用此方法将图像移动到任何单元格文本视图中,并将上一个设置为另一个图像或不使用 textView.setBackgroundDrawable(null);

您无法在表格中为该移动设置动画,因为每一行都是一个视图,可能会将其子视图的动画限制在其约束范围内。

【讨论】:

    【解决方案2】:

    这是一个简单的算法来解决 你的问题。

    1. 维护一组图像 ID 在表中显示为相同 命令。
    2. 获得两个水龙头位置和 交换相应的图像ID 数组并重新加载所有图像 作为表中的数组。

      如果你按照这个你会得到。

    【讨论】:

      【解决方案3】:

      听起来像是一个你想要实现的谜题......

      你应该做以下事情来实现你想要的

      1. 从第一个单元格存储您需要的所有信息(显示的是哪个图像,它是哪个单元格...)
      2. 在第二个单元格上也存储此信息
      3. 现在切换图像视图设置,意味着您需要将单元格1的图像设置为单元格2的图像,反之亦然

      【讨论】:

      • 您好,感谢您的回答;问题是我有 12x8 单元格......如果我理解得很好,你说要在每个单元格中隐藏一个图像...... 96 个图像太多,无法在内存中处理
      • 取决于图像的大小。我只是想当你有两个图像要切换时你应该怎么做。如果您只有一张想要切换的图像,那么执行的步骤应该是相同的,但您不需要保存“目标”单元格中的信息,因为您只需覆盖那里的图像视图数据。应该可以有 96 个没有图像的图像视图(但可能有点慢)。如果你想做一个益智游戏或类似的游戏,我建议使用 SurfaceView 并在你想要的地方绘制图像。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多