【问题标题】:Trying to implement 2 finger zoom尝试实现 2 指缩放
【发布时间】:2014-12-07 19:07:54
【问题描述】:

我可以使用我的应用程序进行平移,但我正在尝试实现两指捏缩放。我正在创建一个带有大位图的地图测验。我还没有找到一种简单的方法来做到这一点 - 任何帮助将不胜感激。谢谢!这是我的代码:

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.widget.HorizontalScrollView;
import android.widget.ScrollView;

public class MainActivity extends Activity {

private float mx, my;
private float curX, curY;

private ScrollView vScroll;
private HorizontalScrollView hScroll;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.quiz);

    vScroll = (ScrollView) findViewById(R.id.vScroll);
    hScroll = (HorizontalScrollView) findViewById(R.id.hScroll);



}

@Override
public boolean onTouchEvent(MotionEvent event) {
    float curX, curY;

    switch (event.getAction()) {

        case MotionEvent.ACTION_DOWN:
            mx = event.getX();
            my = event.getY();
            break;
        case MotionEvent.ACTION_MOVE:
            curX = event.getX();
            curY = event.getY();
            vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
            hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
            mx = curX;
            my = curY;
            break;
        case MotionEvent.ACTION_UP:
            curX = event.getX();
            curY = event.getY();
            vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
            hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
            break;


    }

    return true;
}

}

【问题讨论】:

    标签: android zooming motionevent


    【解决方案1】:

    【讨论】:

    • 有没有办法在没有画布的情况下做到这一点?
    • 我不这么认为。也许对你来说最好的方法是在 github 上找到一些 imageviewer 开源项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多