如何实现android zoomview?

时间:2013-05-20 08:09:08

标签: android zooming

我想实现android-zoom-view(https://code.google.com/p/android-zoom-view/)。 我将jar添加到buildpath中。我创建了以下xml:

<?xml version="1.0" encoding="utf-8"?>
<pl.polidea.view.ZoomView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

     <ImageView
        android:id="@+id/webcam1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:layout_marginBottom="20dp"
        android:scaleType="matrix" />

    <ImageView
        android:id="@+id/webcam2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:scaleType="matrix" />
</pl.polidea.view.ZoomView>

并将以下代码添加到我的活动中:

    View v = ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE))
            .inflate(R.layout.zoomable_view, null, false);
    v.setLayoutParams(new LinearLayout.LayoutParams(
            LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

    zoomView = new ZoomView(this);
    zoomView.addView(v);

    LinearLayout main_container = (LinearLayout) findViewById(R.id.LinearLayout1);
    main_container.addView(zoomView);
我做错了什么? 我收到以下错误:

Caused by: android.view.InflateException: Binary XML file line #2: Error inflating class pl.polidea.view.ZoomView

2 个答案:

答案 0 :(得分:5)

我在ZoomView类中添加了以下构造函数,现在它至少适用于zoomview中的一个imageview。

public ZoomView(final Context context, AttributeSet attr) {
     super(context, attr);     
}

答案 1 :(得分:-1)

只是将jar文件添加到构建路径不起作用。 您必须转到“订购和导出选项卡”并检查要包含在类路径中的jar文件。 (订单和导出选项卡在项目的“属性”菜单中可用。)