找不到移动图像(或其他可点击对象)的方法


 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);
        }
    }

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

如何移动某些东西? 为什么找不到 x y 属性?

在您的评论中,您提到了图像到达目的地时如何"闪烁",然后您无疑将图像平移设置为新位置。

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

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

因为图像已移动到结束位置,然后立即开始动画,所以在动画开始时不会有任何闪烁,

然后当动画完成时,它将在图像已经设置的位置结束,因此您也不会在最后看到任何闪烁。

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

我希望这是有道理的。

最新更新