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