在imageView的角上创建一个正方形

时间:2013-11-10 09:05:42

标签: android

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

enter image description here

2 个答案:

答案 0 :(得分:0)

  1. 获取角落的坐标
  2. 使用Canvas.drawRect(float left, float top, float right, float bottom, Paint paint)
  3. 等方法在这些坐标处绘制矩形
  4. 从onTouch()
  5. 获取触摸点的坐标
  6. 使用新尺寸
  7. 调整图像视图的大小

    获取接触点的坐标

    该类(假设它是一个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可能是一个更好的主意

答案 1 :(得分:0)

也许你需要一个叠加层。 使用正方形和角点创建一个9-patch drawable,并将该图层放在imageview的顶部。