我试图在触摸或不触摸图像按钮时将数据发送到服务器。我实现了那些问题,在我使用onTouch事件等之后,触摸动画就消失了。
buttonImages xml中的一个:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/lt_onclick" />
<item android:state_focused="true" android:drawable="@drawable/lt_onclick" />
<item android:drawable="@drawable/lt_noclick" />
我发现因为我使用了onTouch,我可能需要在ACTION_DOWN或ACTION_UP时激活一个动画,但我不知道它是怎么做的。
onTouch方法:
private void onControl(String st, MotionEvent event){
if(event.getAction() == MotionEvent.ACTION_DOWN){
Log.d("onControl","inside"+" "+st);
new SendMessage().execute("S"+st);
}
if(event.getAction() == MotionEvent.ACTION_UP){
Log.d("onControl","inside"+" "+st);
new SendMessage().execute("P"+st);
}
}
private View.OnTouchListener handleTouch = new View.OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.Abtn:
onControl("BA",event);
break;
case R.id.Bbtn:
onControl("BB", event);
break;
case R.id.Xbtn:
onControl("BX",event);
break;
case R.id.Ybtn:
onControl("BY",event);
break;
case R.id.Rbtn:
onControl("BR",event);
break;
case R.id.Lbtn:
onControl("BL",event);
break;
case R.id.UpBtn:
onControl("BU",event);
break;
case R.id.Dbtn:
onControl("BD",event);
break;
case R.id.RTbtn:
onControl("RT",event);
break;
case R.id.LTbtn:
onControl("LT",event);
break;
case R.id.Start_btn:
onControl("ST", event);
break;
case R.id.Back_btn:
onControl("CK",event);
break;
case R.id.RB_btn:
onControl("RB",event);
break;
case R.id.LB_btn:
onControl("LB",event);
break;
}
return true;
}
};
答案 0 :(得分:0)
管理以其他方式解决此问题。 我打电话给MainActivity.super.onTouchEvent(event); 而不是返回true,它制作了更好的动画。