r.miri19
دوشنبه 28 اردیبهشت 1394, 15:47 عصر
سلام
من به وسیله کد زیر یک عکس رو که در لایوت فرم هست جابه جا می کنم.
مشکل اینجاست که وقتی برای اولین بار روی عکس انگشت می کنم ، عکس یک پرش می کنه بعد کار می کنه و با حرکت انگشت درست جابه جا می شود. بار دوم که انگشت می کنم ، همه چیز خوب کار می کند و بار سوم و بار چهارم و . . . درست کار می کنه.نمی دونم این بار اول چرا اولش یه پرش انجام میده.
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView)findViewById(R.id.imageView1);
imageView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int eid = event.getAction();
switch (eid) {
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams mParams = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
int x = (int) event.getRawX();
int y = (int) event.getRawY();
mParams.leftMargin = x-50;
mParams.topMargin = y-50;
imageView.setLayoutParams(mParams);
break;
default:
break;
}
return true;
}
});
}
}
من به وسیله کد زیر یک عکس رو که در لایوت فرم هست جابه جا می کنم.
مشکل اینجاست که وقتی برای اولین بار روی عکس انگشت می کنم ، عکس یک پرش می کنه بعد کار می کنه و با حرکت انگشت درست جابه جا می شود. بار دوم که انگشت می کنم ، همه چیز خوب کار می کند و بار سوم و بار چهارم و . . . درست کار می کنه.نمی دونم این بار اول چرا اولش یه پرش انجام میده.
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.LinearLayout.LayoutParams;
import android.widget.RelativeLayout;
import android.support.v4.app.NavUtils;
public class MainActivity extends Activity {
ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView)findViewById(R.id.imageView1);
imageView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int eid = event.getAction();
switch (eid) {
case MotionEvent.ACTION_MOVE:
RelativeLayout.LayoutParams mParams = (RelativeLayout.LayoutParams) imageView.getLayoutParams();
int x = (int) event.getRawX();
int y = (int) event.getRawY();
mParams.leftMargin = x-50;
mParams.topMargin = y-50;
imageView.setLayoutParams(mParams);
break;
default:
break;
}
return true;
}
});
}
}