是否可以叠加自定义ImageView?

时间:2015-03-29 18:02:58

标签: java android draw gesture ondraw

我有一个显示位图的应用程序,用户可以使用触摸事件与位图交互(缩放和拖动)。是否可以在原始的imageView位图上对同一活动实现另一个Imageview,该位图具有自己独特的触摸事件?

例如,我有一个位图,用户可以将其缩放/拖动到他们想要的位置,然后当它们准备就绪时,他们将能够在图像上绘制圆圈(并且圆圈可以调整大小)。圆圈需要能够调整大小并移动,而背景中的图像保持最初缩放的程度。

这是执行我所拥有的代码......

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_image_display);
    Intent intent = getIntent();
    String path = getIntent().getStringExtra(ImageDisplayActivity.KEY_PATH);
    final Button button = (Button) findViewById(R.id.button1);
    try {
        java.io.FileInputStream in = this.openFileInput(path);
        bitmap = BitmapFactory.decodeStream(in);
        bitmap = bitmap.copy(bitmap.getConfig(), true);
        touch = (ZoomInZoomOut)findViewById(R.id.IMAGEID);
        touch = arrangeImageView(touch);
        touch.setImageBitmap(bitmap);
        in.close();


    } catch (Exception e) {
        e.printStackTrace();
    }
}
public void sendMessage(View view) {
    // Do something in response to button click
    shape = (DrawView)findViewById(R.id.IMAGEID2);
}

XML

<com.commonsware.android.test1.ZoomInZoomOut
    android:id="@+id/IMAGEID"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"/>

<com.commonsware.android.test1.DrawView
    android:id="@+id/IMAGEID2"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"/>

<Button
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="AddCircle"
    android:id="@+id/button1"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:onClick="sendMessage"/>

1 个答案:

答案 0 :(得分:1)

是。您可以通过扩展它来实现自己的ImageView。完成后,您可以添加GestureDetectorsScaleGestureDetector并覆盖onTouchEvent以实现缩放/拖动以及其他任何内容。

然后在Activity中包含两个ImageView。