آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

خطا در نوشتن متد onTouchEvent

Mr.AHN  11 سال پیش  11 سال پیش
0 0

سلام خدمت دوستان بزرگوارم، عزیزان لطف کنید بفرماید دلیل خطاهای خطوط 38و40 چیه؟  روی   onTouchEvent  ارور  Remove invalid modifiers میاد.

 
 
 package sh.app.PdfTest2;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationSet;
import android.view.animation.TranslateAnimation;
import android.widget.Button;


public class PdfTest2Activity extends Activity {

private int laywidth;
private int layhigth;


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

//****************************************************************************************
View layZir = (View) findViewById(R.id.layZir);
View lay = (View) findViewById(R.id.lay);
View layRo = (View) findViewById(R.id.layRo);
Button btnZir = (Button) findViewById(R.id.btnZir);
Button btnRo = (Button) findViewById(R.id.btnRo);




//********************************************************************************************

38 @Override

40 public boolean onTouchEvent(MotionEvent event) {
laywidth = lay.getWidth();
layhigth = lay.getHeight();
float oldX;
boolean menuvis;
/////////////////////////////////////////////////////////////////////////
boolean menumov;
boolean inZone;
float distX;
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:

oldX = event.getRawX();
if (menuvis) {
AnimationSet set = new AnimationSet(false);
TranslateAnimation trMain = new TranslateAnimation((int) (laywidth * 0.7), 0, 0, 0);
trMain.setDuration(400);
//trMain.setRepeatMode(Animation.REVERSE);
//trMain.setRepeatCount(Animation.INFINITE);
//trMain.setFillAfter(true);
// trMain.setFillBefore(false);
set.addAnimation(trMain);
layZir.startAnimation(set);

AnimationSet set1 = new AnimationSet(false);
//ScaleAnimation men = new ScaleAnimation(fromX, toX, fromY, toY)
TranslateAnimation trMenu = new TranslateAnimation(0, -(int) (laywidth * 0.7), 0, 0);
trMenu.setDuration(400);
set1.addAnimation(trMenu);
layRo.startAnimation(set1);

layZir.layout(0, 0, laywidth, layhigth);
// layMenu.layout(0, 0, 0, layhigth);
layZir.setPadding(0, 0, 0, 0);
layRo.setPadding(0, 0, 0, 0);
// lay.setWeightSum((float) 0.0);

menuvis = false;
return;
}
break;
case MotionEvent.ACTION_MOVE:
menumov = true;
if (menuvis) {

} else {
if (oldX < laywidth * 0.2) {
inZone = true;
float newX = event.getRawX();

distX = newX - oldX;

if (distX > laywidth * 0.35) {
// lay.setWeightSum((float) 0.7);
layZir.layout((int) (laywidth * 0.7), 0, (int) (laywidth * 0.7) + laywidth, layhigth);
layRo.layout( -(int) (laywidth * 0.15), 0, (int) (laywidth * 0.85), layhigth);
//menuObj.layout(0, 0, (int) (laywidth * 0.7), layhigth);
//layMain.setPadding(0, 0, -(int) (laywidth * 0.7), 0);
//layMenu.setPadding(0, 0, -(int) (laywidth * 0.3), 0);
//layMenu.setWeightSum((float) 0.5);
// menuObj.setVisibility(View.VISIBLE);
menuvis = true;
inZone = false;

return;
} else {
// lay.setWeightSum((float) 0.7);
layZir.layout((int) (distX), 0, laywidth + (int) distX, layhigth);
layRo.layout((int) -((layhigth / 2) - distX), 0, (int) distX, layhigth);
}
} else {
inZone = false;
}

}
break;
case MotionEvent.ACTION_UP:
if (menumov) {
if (inZone) {
if ( !menuvis) {
AnimationSet set = new AnimationSet(false);
TranslateAnimation trMain = new TranslateAnimation(distX, 0, 0, 0);
trMain.setDuration(300);
trMain.setRepeatMode(Animation.REVERSE);
//trMain.setRepeatCount(Animation.INFINITE);
trMain.setFillAfter(true);
trMain.setFillBefore(false);
set.addAnimation(trMain);
layZir.startAnimation(set);

AnimationSet set1 = new AnimationSet(false);
//ScaleAnimation men = new ScaleAnimation(fromX, toX, fromY, toY)
TranslateAnimation trMenu = new TranslateAnimation(0, -distX, 0, 0);
trMenu.setDuration(400);
set1.addAnimation(trMenu);
layRo.startAnimation(set1);

AnimationSet setm = new AnimationSet(false);
TranslateAnimation trMenu1 = new TranslateAnimation(0, 150, 0, 0);
trMenu1.setDuration(2000);
trMenu1.setRepeatMode(Animation.REVERSE);
trMenu1.setRepeatCount(Animation.INFINITE);
trMenu1.setFillAfter(true);
trMenu1.setFillBefore(false);
setm.addAnimation(trMenu1);
layRo.startAnimation(set);

layZir.layout(0, 0, laywidth, layhigth);
layRo.layout(0, 0, 0, layhigth);
layRo.setVisibility(View.GONE);
}
}
}
menumov = false;

break;

}
/*///////////////////y //////////////////////////////////////////////////////////////////*/

return;
}



}
}

0 0
متد onTouchEvent باید خارج از OnCreate قرار داده بشه (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .