我想用贾斯汀·托特的C端口。图像显示正确(它甚至对单击事件做出反应),但不滚动或缩放。由于代码没有文档,我不知道如何使用它。缩放和滚动是自动的吗?我需要设置它,甚至手动实现它吗?以下是我的代码:
main.axml(touchImageView位于customized.layout命名空间中)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:p1="http://schemas.android.com/apk/res/android"
    p1:orientation="vertical"
    p1:minWidth="25px"
    p1:minHeight="25px"
    p1:layout_width="match_parent"
    p1:layout_height="match_parent"
    p1:id="@+id/alinearLayout2">
    <Button
        p1:text="@string/butNextTurn"
        p1:layout_width="match_parent"
        p1:layout_height="wrap_content"
        p1:id="@+id/abutton1" />
    <TextView
        p1:text="Text"
        p1:layout_width="match_parent"
        p1:layout_height="wrap_content"
        p1:id="@+id/acoordinates"
        p1:layout_alignParentBottom="true"
        p1:textColor="@color/brick" />
    <Customized.Layout.TouchImageView
        p1:id="@+id/aview"
        p1:layout_width="match_parent"
        p1:layout_height="match_parent" />
</LinearLayout>

主要活动.cs:
protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);

        SetContentView(Resource.Layout.Main);

        Customized.Layout.TouchImageView view = FindViewById<Customized.Layout.TouchImageView>(Resource.Id.aview);

        if (view != null)
        {
            view.SetImageResource(Resource.Drawable.image);
            view.VerticalScrollBarEnabled = true;
            view.HorizontalScrollBarEnabled = true;
        }
    }

最佳答案

过了一段时间,法比奥努诺回答了我的问题here
在touchImageView.cs的代码中

SetOnTouchListener(new TouchImageViewListener(this));

应该改成
base.SetOnTouchListener(new TouchImageViewListener(this));

不管怎样,对于大型图像,TouchImageView被证明是非常慢的(至少在我的情况下)。对于任何有类似问题的人,我建议使用webview(或继承webview的类)实现gesturelister(如Xamarin tutorial中所述)。

关于c# - 在Xamarin中使用TouchImageView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23594768/

10-10 03:58