-6
 public class FirstTest extends Activity {
        public FirstTest() {
            // TODO Auto-generated constructor stub
        }

        RelativeLayout currentLayout;

        static int[] Deck = {
            R.drawable.img1,
            R.drawable.img2,
            R.drawable.img3,
            R.drawable.img4
        };

        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);

            currentLayout = new RelativeLayout(this);

            for (int i = 0; i < Deck.length; i++) {         
                ImageButton img = new ImageButton(this);
                img.setPadding(0, 0, 0, 0);
                img.setImageResource(Deck[i]);
                img.setAdjustViewBounds(true);
                img.setOnClickListener(new View.OnClickListener() {

                    public void onClick(View v) {
                        // TODO Auto-generated method stub

                        // BUT HOW MOVE THIS BUTTON????
                    }
                });

                currentLayout.addView(img);
            }
            setContentView(currentLayout);
        }
    }

也许这对其他人来说是微不足道的,但我刚刚找到了 width 和 height 属性修饰符。在尝试了很多例子后,我放弃了。

我怎样才能搬东西?为什么我找不到 xy 属性?

4

1 回答 1

0

在您的评论中,您提到图像到达目的地时如何“闪烁”,然后您无疑将图像翻译设置为新位置。

经过大量测试,我发现移动图像(或任何视图)的最佳方法是按以下顺序执行步骤:

单击事件时: 1. 找到您希望图像移动到的位置的坐标 2. 将图像平移(设置位置)到您希望它完成的位置 3. 从图像最初的位置开始动画,然后回到它的当前位置 (0,0)。

因为图像已移动到结束位置,然后立即开始动画,所以在动画开始时不会闪烁,所以当动画结束时,它将在图像已经设置的位置结束,所以你不会'最后也不会有任何闪烁。

这有点奇怪,但我相信这只是因为 Android 如何触发开始/结束动画事件。

我希望这是有道理的。

于 2012-05-06T23:42:08.073 回答