我有两张图片,一张是大圆圈,另一张是圆圈中心的相机图片。
我需要什么:我可以触摸相机图像,我想在外圈内左右移动,所以当我移动相机图像时,我想打开一个活动,当我向右移动时,我想打开不同的活动。
img.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
RelativeLayout.LayoutParams mParams = (RelativeLayout.LayoutParams) img.getLayoutParams();
//LinearLayout.LayoutParams lParams = (LinearLayout.LayoutParams) img.getLayoutParams();
// TODO Auto-generated method stub
int eid = event.getAction();
int x = (int) event.getX();
int y = (int) event.getY();
switch (eid) {
case MotionEvent.ACTION_MOVE:
x = (int) event.getRawX();
mParams.leftMargin = x - 100;
img.setLayoutParams(mParams);
y = (int) event.getRawY();
mParams.rightMargin = y - 100;
img.setLayoutParams(mParams);
// touchMove(x, y);
break;
case MotionEvent.ACTION_DOWN:
//touchStart(x, y);
break;
case MotionEvent.ACTION_UP:
startDirection = direction;
break;
default:
break;
}
return true;
}
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<RelativeLayout
android:id="@+id/rectangle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="49dp"
android:gravity="center"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:background="@drawable/outer_circle" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="hello_world"
android:src="@drawable/camera" />
</RelativeLayout>
</RelativeLayout>
当我跑步时,它向左移动但是从圆圈向外移动,当我向右移动时,外圈变得拉伸。
答案 0 :(得分:0)
我正在给你的ImageView一个RelativeLayout类型的Params对象。无法确定,因为无法看到/ img / variable的类型。
如果触摸的视图是您想要移动的视图,您也可以 使用已声明的函数/ v / View varlable,您只需要做 将其转换为ImageView。
拉伸是某种奇怪的。这是整个布局文件吗?所以你的实际布局是 具有圆圈背景的RelativeLayout?