У меня есть два изображения: одно - большой круг, а другое - изображение камеры в центре круга.
Что мне нужно: я могу коснуться изображения камеры, и я хочу двигаться влево и вправо внутри внешнего круга, поэтому, когда я перемещаю изображение камеры влево, я хочу открыть одно действие, а когда я двигаюсь вправо, я хочу открыть другое действие.
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>
Когда я запускаю это, он движется влево, но выходит из круга, а когда я двигаюсь вправо, внешний круг растягивается.