如何识别Android中捏缩放的视图?

时间:2017-04-19 12:00:59

标签: android textview pinchzoom

我已使用以下代码为TextView实现了缩放缩放。 但是,即使用户在屏幕上的任何位置捏住,代码TextView也会缩放。我需要仅在收缩TextView时才进行缩放缩放。 有人可以帮帮我吗?

我现有的代码:

 @Override
public boolean onTouchEvent(MotionEvent event) {
   // return super.onTouchEvent(event);
    if (event.getPointerCount() == 2)
    {
        int action = event.getAction();
        int pureaction = action & MotionEvent.ACTION_MASK;

        if (pureaction == MotionEvent.ACTION_POINTER_DOWN)
        {
            mBaseDist = getDistance(event);
            mBaseRatio = mRatio;
        }
        else
        {
            float delta = (getDistance(event) - mBaseDist) / STEP;
            float multi = (float) Math.pow(2, delta);
            mRatio = Math.min(1024.0f, Math.max(0.1f, mBaseRatio * multi));
            mTextView.setTextSize(mRatio + 13);
        }
    }
    return true;

}

2 个答案:

答案 0 :(得分:1)

尝试使用setOnTouchListener并覆盖onTouch方法,这会触及视图。

public boolean onTouch(View v, MotionEvent event) {
    //v is view touched
}

答案 1 :(得分:1)

TextView YOUR_TEXTVIEW = (TextView) findViewById(R.id.textView);    

YOUR_TEXTVIEW.setOnTouchListener(new OnTouchListener(){

       @Override
       public boolean onTouch(View v, MotionEvent event) {
          //Your Code
       }
    });

查看条件触摸

       @Override
       public boolean onTouch(View v, MotionEvent event) {
          if(v.getId() == R.id.textView){
            //Your Code
          }
       }