Android - 当imageView在屏幕上移动时运行缓慢

时间:2016-02-14 20:12:51

标签: android imageview move

我正在使用此代码。它在我的模拟器上工作,但在手机上它运行缓慢而且移动具有高延迟。我不知道为什么它在真正的手机上会变慢。如何提高性能? (注意:图像大小为5kb。)

 case MotionEvent.ACTION_MOVE:

        if(event.getRawX() <= firsttouch){

        }else if(event.getRawX() >= firsttouch+maxright){

        } else {
            x= event.getRawX()-deltaTouchpos;
            **imgslide.setX(x);**   //image move by touch here
        }
        break;
}

编辑:Layout.xml

<LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/slideroot">

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="7"
            android:id="@+id/slideroot2">

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/imageView6"
                android:src="@drawable/slide350b"
                android:adjustViewBounds="false"
                android:scaleType="fitXY" />
        </FrameLayout>

        <FrameLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="13">
        </FrameLayout>
    </LinearLayout>

1 个答案:

答案 0 :(得分:0)

Hüseyin,如果您在移动ImageView对象时遇到问题,可以选择执行此操作:

你可以将ImageView放在RelativeLayout之上,你可以设置左边距以便移动,这样它就像你在imageView上使用'setX()'一样。示例代码段将是这样的:

RelativeLayout.LayoutParams layout_params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
layout_params .leftMargin = x; //setX coordinate 
childView.setLayoutParams(layout_params );