بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

جابجا کردن یک view در framlayote به وسیله انگشت دست(حل  ن ن ن ن ن نشده ه ه ه ه ه ه ه ه ه ه ه ه ه ه !!!)

مدیریت گفتگو
گیر کرده 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام

من به وسیله کد زیر یک عکس رو که در لایوت فرم هست جابه جا می کنم.

مشکل اینجاست که وقتی برای اولین بار روی عکس انگشت می کنم ، عکس یک پرش می کنه بعد کار می کنه و با حرکت انگشت درست جابه جا می شود. بار دوم که انگشت می کنم ، همه چیز خوب کار می کند و بار سوم و بار چهارم و . . .  درست کار می کنه.نمی دونم این بار اول چرا اولش یه پرش انجام میده.

 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;
}
});
}




}

نظرات

گیر کرده 11 سال پیش
می شه کسی این کد ما رو یه تگاهی بندازه؟
گیر کرده 11 سال پیش
کسی اگه بلده بابا به کمک کنه
گیر کرده 11 سال پیش
به نظرم که دیگه اینجا کسی جوابگو نیست
گیر کرده 11 سال پیش
به نظرم که دیگه اینجا کسی جوابگو نیست.اینجا خوابیده. سایت هم که آپدیتش مثل اینکه به زودیا تمام نمی شه.
گیر کرده 11 سال پیش
یعنی کسی نیست که این کد رو بررسی کنه؟ یعنی کسی نیست که تا حالا یک View رو تو یه لایه با انگشت جا به جا کرده باشه؟

پاسخ‌ها 2

گیر کرده 11 سال پیش

من این کد رو گیر اوردم اما وقتی که فشار می دم یکم لرزش داره

 @Override
public boolean onTouch(View myView, MotionEvent event){
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN :
{
x = event.getX();
y = event.getY();
dx = x-myView.getX();
dy = y-myView.getY();
}
break;
case MotionEvent.ACTION_MOVE :
{
myView.setX(event.getX()-dx);
myView.setY(event.getY()-dy);
}
break;
case MotionEvent.ACTION_UP :
{
//your stuff
}
return true;
}

نظرات

وحید 11 سال پیش
داداش منظور از پرش چیه؟ الآن من با کد اول شما که کار میکنم با هر با تاچ می پره.
گیر کرده 11 سال پیش
همین دیگه، بار اول مثلا عکس رو که لمس می کنی، یه کم می پره بعد درست کار می کنه،منم می خوام کاری کنم که اینطور نشه
raeesi 11 سال پیش

نظرات

raeesi 11 سال پیش
اینم از چیزی که می خواستی بدون پریدن

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