【发布时间】:2013-03-01 08:18:43
【问题描述】:
编辑:通过 Emil 的 cmets 找到答案。代码最终是这样的:
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(left, top, right, bottom);
view.setLayoutParams(params);
谢谢大家:D
我目前正在编写一个 Android 应用程序,并且我有一个动态创建的树,其中显示 ImageView 元素。然而,为了排列这些图像,我使用了向左填充来正确排列它们,动态地改变填充的计算方式,以便一切都变得均匀。但是,当我这样做时,填充会覆盖左侧的一些图像,即使您可以看到此填充后面的图像,当您单击该图像时,它也会评估正在使用填充的图像(最远左元素)。我基本上想知道是否有一种方法可以以编程方式设置对图像执行填充但不可点击的东西?边距是有意义的,但你不能在 ImageViews 上设置边距。
树的设置是这样的:
-----A-----
--B--C--D--
-E-F----G--
想象每个字母都是一个 ImageView,动态放置并带有填充。但是如果我点击 B 或 C,D 的代码将被评估,因为它的左侧填充覆盖了 B 和 C。对于 E 或 F,同样如此,点击它们,G 将被评估。我想不出另一种方式来放置这些 ImageView。非常感谢任何帮助。
【问题讨论】: