Android View.setTranslateX () не работает должным образом для операции перетаскивания? - PullRequest
0 голосов
/ 04 мая 2020

Я создал фрагмент, в котором кнопку можно перетаскивать с помощью onTouchListener () и setTranslationX (), но кнопка перемещается между двумя позициями при перетаскивании, после исследования с использованием журнала я обнаружил, что setTranslationX () не работает должным образом и не двигая кнопку, как требуется, вот мой код, фрагмент. java

bfli.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                vc=ViewConfiguration.get(v.getContext());
                switch(event.getActionMasked())
                {
                    case MotionEvent.ACTION_DOWN:
                        if(vt==null)
                        {
                            vt=VelocityTracker.obtain();
                        }
                        else
                        {
                            vt.clear();
                        }
                        vt.addMovement(event);
                        xt=event.getX();
                        break;
                    case MotionEvent.ACTION_MOVE:
                        xn=event.getX();
                        dx=xn-xt;
                        tc.setText("v"+dx);
                        Log.d("Tag","Rawx"+event.getRawX()+"  xt"+xt+"  xn"+xn+"  xct"+bfli.getX()+"  dx"+dx);
                        bfli.setTranslationX(dx);
                        vt.addMovement(event);
                        vt.computeCurrentVelocity(1000);
                        velfi= vt.getXVelocity();
                        break;
                    case MotionEvent.ACTION_UP:


                            Toast.makeText(getActivity(), "Up",Toast.LENGTH_LONG).show();

                            fc.setStartVelocity(velfi/10).setFriction((float)0.6);
                            fc.start();

                            break;
                }

                return false;
            }
        });

и фрагмент. xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <Button
        android:id="@+id/buttonmee"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="IwiilMove"
        android:layout_marginTop="490dp"
        android:layout_centerHorizontal="true"/>
    <Button
        android:id="@+id/buttonspr"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="IAmSpring"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"/>
    <Button
        android:id="@+id/buttonfli"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="IAmFling"
        android:layout_marginTop="190dp"
        android:layout_centerHorizontal="true"/>
    <TextView
        android:id="@+id/topfli"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="v0"
        android:layout_marginTop="260dp"
        android:layout_centerHorizontal="true"/>
</RelativeLayout>

Кнопка с именем bfli - это верхняя кнопка с текстом IAmfling (средняя кнопка в коде xml), а вот log ,

: Show toast from OpPackageName:com.example.tutorialspoint7.neeee, PackageName:com.example.tutorialspoint7.neeee
2020-05-04 16:54:48.336 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx756.4503  xt187.09515  xn180.54547  xct575.90485  dx-6.5496826
2020-05-04 16:54:48.350 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx749.94934  xt187.09515  xn339.49902  xct410.45032  dx152.40387
2020-05-04 16:54:48.368 22605-22605/com.example.tutorialspoint7.neeee W/Choreographer: OPTS_INPUT: First frame was drawed before optimized, so skip!
2020-05-04 16:54:48.372 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx744.07996  xt187.09515  xn174.67609  xct569.4039  dx-12.419067
2020-05-04 16:54:48.384 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx738.62317  xt187.09515  xn334.04224  xct404.58093  dx146.94708
2020-05-04 16:54:48.397 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx734.6574  xt187.09515  xn170.71033  xct563.9471  dx-16.384827
2020-05-04 16:54:48.414 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx731.3139  xt187.09515  xn330.69873  xct400.61517  dx143.60358
2020-05-04 16:54:48.432 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx728.3482  xt187.09515  xn167.74463  xct560.6036  dx-19.350525
2020-05-04 16:54:48.449 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx725.3564  xt187.09515  xn327.7069  xct397.64948  dx140.61176
2020-05-04 16:54:48.465 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx721.6006  xt187.09515  xn163.98883  xct557.61176  dx-23.106323
2020-05-04 16:54:48.481 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx717.5719  xt187.09515  xn323.67822  xct393.89368  dx136.58307
2020-05-04 16:54:48.499 22605-22605/com.example.tutorialspoint7.neeee D/Tag: Rawx712.62976  xt187.09515  xn159.04669  xct553.58307  dx-28.048462
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...