Android:如何在TableLayout中显示和移动ImageView

发布于 2024-10-12 13:07:25 字数 194 浏览 4 评论 0原文

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

I have a grid of TextViews shown inside a TableLayout. When the user taps a TextView I need to change the cell's background by adding an ImageView that will go to another cell when other cells will be clicked.
Which is the best way to do this in Android?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

居里长安 2024-10-19 13:07:25

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

您可以使用此方法将图像移动到任何 cell-textView 中,并将前一个图像设置为另一个图像或不设置任何内容
textView.setBackgroundDrawable(null);

您无法在表中对这一移动进行动画处理,因为每一行都是一个视图,可能会限制其子视图的动画效果。

TextView can have an image (drawable) as a background. So it is easy to do it with
textView.setBackgroundDrawable(R.drawable.myimage);

You can move the image into any cell-textView with this method and set the previous to another image or nothing with
textView.setBackgroundDrawable(null);

You cannot animate this movement in the table, because each row is one view an may limit the animation of its children views to its constrains.

梦萦几度 2024-10-19 13:07:25

听起来像是您想要实现的难题...

您应该执行以下操作来实现您想要的

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

Sounds like a puzzle you want do implemenent...

You should do the following to achieve what you want

  1. store all information you need from the first cell (which image is shown, which cell it was...)
  2. on the second cell store this information too
  3. now switch the image view settings, means you need to set the image of cell one to the image of cell 2 and vice versa
夜吻♂芭芘 2024-10-19 13:07:25

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

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

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

This is a simple algorithm to solve
your problem.

  1. Maintain an array of image ids which
    are displayed in table as same
    order.
  2. Get two taps positions and
    swap the corresponding image ids in
    array and reload all images as like
    as array in table.

    If u follow this u will get.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文