【问题标题】:Create a square on the corners of the imageView在 imageView 的角上创建一个正方形
【发布时间】:2013-11-10 09:05:41
【问题描述】:

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

【问题讨论】:

    标签: android


    【解决方案1】:
    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 可能是一个更好的主意

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2014-12-25
      • 2017-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多