0

我正在创建一个关于如何在 android 中调整 imageView 大小的 POC。我想在 ImageView 的角落放置 4 个正方形,以便可以拖动正方形来调整大小。我应该用什么来得到这个结果?

在此处输入图像描述

4

2 回答 2

0

也许你需要一个覆盖。创建一个带有正方形和角的 9-patch 可绘制对象,并将该图层放在图像视图的顶部。

于 2013-11-10T09:35:41.127 回答
0
  1. 获取角的坐标
  2. 使用类似的方法在这些坐标处绘制矩形Canvas.drawRect(float left, float top, float right, float bottom, Paint paint)
  3. 从 onTouch() 中获取触摸点的坐标
  4. 使用新大小调整图像视图的大小

获取接触点坐标

该类(假设它是一个Activity)应该实现OnTouchListener,并将监听器注册到自己

    public class MyActivity extends Activity implements OnTouchListener {
    ...
        setOnTouchListener(MyActivity.this);
    ...

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        int action = event.getActionMasked();

        switch(action) {
            case MotionEvent.ACTION_DOWN:
                break;
            case MotionEvent.ACTION_MOVE:
                break;
            case MotionEvent.ACTION_UP:
                // Get the coordinates
                int x = (int)event.getRawX();
                int y = (int)event.getRawY();
                // Resize the imageView
                resize();
            break;
            case MotionEvent.ACTION_CANCEL:
            break;
        }
        return true;
    }
}

调整 ImageView 的大小

您可以使用ImageView.setMaxHeight(),ImageView.setMaxWidth()来调整图像视图的大小

顺便问一下,您要调整大小的 imageView 实际上是图像吗?在这种情况下,使用 drawable 可能是一个更好的主意

于 2013-11-10T09:10:03.187 回答