2015-10-14 107 views
0

我有一个textview,我已经应用了缩放缩放手势,增加/减小文本视图的大小。我也想对其应用onclick监听器,但是当我应用onclick时不工作。我在互联网上搜索,但没有找到解决方案。任何人的帮助将不胜感激。Onclick倾听器与缩放手势

我的代码:

package com.zeeshanfirstapp; 
 

 
import android.os.Bundle; 
 
import android.support.v7.app.AppCompatActivity; 
 
import android.util.Log; 
 
import android.util.TypedValue; 
 
import android.view.MotionEvent; 
 
import android.view.ScaleGestureDetector; 
 
import android.view.View; 
 
import android.widget.TextView; 
 

 
public class MainActivity extends AppCompatActivity { 
 

 

 
    @Override 
 
    protected void onCreate(Bundle savedInstanceState) { 
 
     super.onCreate(savedInstanceState); 
 
     setContentView(R.layout.activity_main); 
 

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

 
     textView.setOnClickListener(new View.OnClickListener() { 
 
      @Override 
 
      public void onClick(View v) { 
 
       Log.v("ACtion", "Clicked"); 
 
      } 
 
     }); 
 

 
     final ScaleGestureDetector scaleGestureDetector = new ScaleGestureDetector(this, new ScaleGestureDetector.OnScaleGestureListener() { 
 

 
      @Override 
 
      public boolean onScale(ScaleGestureDetector detector) { 
 
       float size = textView.getTextSize(); 
 

 
       float factor = detector.getScaleFactor(); 
 

 
       float product = size*factor; 
 
       textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, product); 
 
       textView.invalidate(); 
 

 
       return true; 
 
      } 
 

 
      @Override 
 
      public boolean onScaleBegin(ScaleGestureDetector detector) { 
 
       return true; 
 
      } 
 

 
      @Override 
 
      public void onScaleEnd(ScaleGestureDetector detector) { 
 

 
      } 
 
     }); 
 

 
     View.OnTouchListener listener = new View.OnTouchListener() { 
 
      @Override 
 
      public boolean onTouch(View v, MotionEvent event) { 
 
       return scaleGestureDetector.onTouchEvent(event); 
 
      } 
 
     }; 
 

 
     textView.setOnTouchListener(listener); 
 

 
    } 
 

 
}

+0

请提供一些您的代码,以便我们可以在那里查找错误 –

+0

感谢您的评论。我会尽快更新我的问题。谢谢 –

+0

@SebastianWalla,我发布了我的代码,请检查。欢呼 –

回答

0

您应该对onCreateView视图调整,因为鉴于可能未完全时的onCreate()被调用创建。

+0

感谢您的回答。好吧,我会尝试我的代码在oncreateview,但我的研究,我发现ontouch事件阻止我的onclick监听器,但我不知道如何解决这个 –

+0

你可以发布你的代码在github上......也许我们可以玩一些用它来帮助你找到解决方案。 – ErstwhileIII

+0

好的,我明天就会发布。请检查。我会更新我的问题 –