بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
جابجا کردن یک view در framlayote به وسیله انگشت دست(حل ن ن ن ن ن نشده ه ه ه ه ه ه ه ه ه ه ه ه ...
سلام
من به وسیله کد زیر یک عکس رو که در لایوت فرم هست جابه جا می کنم.
مشکل اینجاست که وقتی برای اولین بار روی عکس انگشت می کنم ، عکس یک پرش می کنه بعد کار می کنه و با حرکت انگشت درست جابه جا می شود. بار دوم که انگشت می کنم ، همه چیز خوب کار می کند و بار سوم و بار چهارم و . . . درست کار می کنه.نمی دونم این بار اول چرا اولش یه پرش انجام میده.
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;
}
});
}
}
0
0
می شه کسی این کد ما رو یه تگاهی بندازه؟
(11 سال پیش)
0
0
کسی اگه بلده بابا به کمک کنه (11 سال پیش)
0
0
به نظرم که دیگه اینجا کسی جوابگو نیست (11 سال پیش)
0
0
به نظرم که دیگه اینجا کسی جوابگو نیست.اینجا خوابیده. سایت هم که آپدیتش مثل اینکه به زودیا تمام نمی شه. (11 سال پیش)
0
0
یعنی کسی نیست که این کد رو بررسی کنه؟
یعنی کسی نیست که تا حالا یک View رو تو یه لایه با انگشت جا به جا کرده باشه؟ (11 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
گیر کرده
11 سال پیش
0
0
من این کد رو گیر اوردم اما وقتی که فشار می دم یکم لرزش داره
@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;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .