如何进去onTouchEvent(MotionEvent事件)在android系统的ImageView [英] How to get imageView inside onTouchEvent(MotionEvent event) in android
问题描述
我定义onTouchEvent(MotionEvent事件),以接收ImageView的触摸事件。我使用多个imageviews,我必须找到它的ImageView我收到触摸事件。
是否有可能进去onTouchEvent ImageView的?
公共无效createImageViews()
{
INT I = 0; imageArray [0] =(ImageView的)findViewById(R.id.image1);
imageArray [1] =(ImageView的)findViewById(R.id.image2);
imageArray [2] =(ImageView的)findViewById(R.id.image3);
imageArray [3] =(ImageView的)findViewById(R.id.image4);
imageArray [4] =(ImageView的)findViewById(R.id.image5);
imageArray [5] =(ImageView的)findViewById(R.id.image6); 对于(i = 0; I<计数;我++)
{
imageArray [I] .setOnTouchListener(本);
}
}
公共类触摸扩展活动实现OnTouchListener,AnimationListener {}
我已经尝试使用
公共布尔onTouch(视图V,MotionEvent事件){},但没有收到触摸事件。
开始对ImageView的动画我没有观察到onTouch触摸事件()和获取触摸事件的onTouchEvent()之后。 imgArray [g_animCount] .startAnimation(movArray [g_animCount]);
使用下面的示例code段:::: 公共类MyImageView扩展活动实现OnTouchListener {
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.lay_name);
INT I = 0;
imageArray [0] =(ImageView的)findViewById(R.id.image1);
imageArray [1] =(ImageView的)findViewById(R.id.image2);
imageArray [2] =(ImageView的)findViewById(R.id.image3);
imageArray [3] =(ImageView的)findViewById(R.id.image4);
imageArray [4] =(ImageView的)findViewById(R.id.image5);
imageArray [5] =(ImageView的)findViewById(R.id.image6); 对于(i = 0; I<计数;我++){
imageArray [I] .setOnTouchListener(本);
}
} @覆盖
公共布尔onTouch(视图V,MotionEvent事件){
// TODO自动生成方法存根
开关(v.getId()){
案例R.id.image1:
//你的东西
打破;
案例R.id.image2:
//你的东西
打破;
案例R.id.image3:
//你的东西
打破;
案例R.id.image4:
//你的东西
打破;
案例R.id.image5:
//你的东西
打破;
案例R.id.image6:
//你的东西
打破;
}
}
}
I defined onTouchEvent(MotionEvent event) to receive touch events for imageview. I am using multiple imageviews and i have to find for which imageview I have received touch event. Is it possible to get imageview inside onTouchEvent?
public void createImageViews()
{
int i = 0;
imageArray[0] = (ImageView)findViewById(R.id.image1);
imageArray[1] = (ImageView)findViewById(R.id.image2);
imageArray[2] = (ImageView)findViewById(R.id.image3);
imageArray[3] = (ImageView)findViewById(R.id.image4);
imageArray[4] = (ImageView)findViewById(R.id.image5);
imageArray[5] = (ImageView)findViewById(R.id.image6);
for (i = 0; i < count; i++)
{
imageArray[i].setOnTouchListener(this);
}
}
public class Touch extends Activity implements OnTouchListener, AnimationListener { }
I have tried using
public boolean onTouch(View v, MotionEvent event) { } but not receiving the touch events.
After starting the animation on imageview I did not observe touch events in onTouch() and getting touch events in onTouchEvent() . imgArray[g_animCount].startAnimation(movArray[g_animCount]);
use the below sample code snippet::::
public class MyImageView extends Activity implements OnTouchListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.lay_name);
int i = 0;
imageArray[0] = (ImageView)findViewById(R.id.image1);
imageArray[1] = (ImageView)findViewById(R.id.image2);
imageArray[2] = (ImageView)findViewById(R.id.image3);
imageArray[3] = (ImageView)findViewById(R.id.image4);
imageArray[4] = (ImageView)findViewById(R.id.image5);
imageArray[5] = (ImageView)findViewById(R.id.image6);
for (i = 0; i < count; i++) {
imageArray[i].setOnTouchListener(this);
}
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch(v.getId()){
case R.id.image1:
//your stuff
break;
case R.id.image2:
//your stuff
break;
case R.id.image3:
//your stuff
break;
case R.id.image4:
//your stuff
break;
case R.id.image5:
//your stuff
break;
case R.id.image6:
//your stuff
break;
}
}
}
这篇关于如何进去onTouchEvent(MotionEvent事件)在android系统的ImageView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!