移动 ImageView

Moving an ImageView

我在点击 "Cucina" 按钮时遇到问题,白色圆圈(照片左上角)应该移动到按钮本身的左侧。 我正在使用以下代码:

 filter2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            ConstraintLayout.LayoutParams layoutParams = new ConstraintLayout.LayoutParams(30, 30);
            layoutParams.setMargins(Math.round(filter2.getX()), Math.round(filter2.getY()), 0, 0);
            cerchioMenu.setLayoutParams(layoutParams);

        }
    });

但它不起作用,有什么建议吗?

onClick 事件中,您应该像这样获取按钮的坐标:

int[] location = new int[2];
button.getLocationInWindow(location);

location 数组将保存按钮的 x 和 y 坐标。现在像这样为白色圆圈设置动画:

mCircle.animate().y(location[1]).setDurarion(200).start();

记得在对数组进行任何调用之前检查 location 的 null 和数组索引。