我正在尝试使用Justin Toth的TouchImageView的C#端口。图像显示正确(它甚至对Click事件做出反应),但它不会滚动或缩放。由于代码没有文档,我不知道如何使用它。是自动缩放和滚动,我是否必须设置它甚至手动实现它?以下是我的代码:
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>
MainActivity.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;
}
}
答案 0 :(得分:4)
过了一段时间, fabionuno 回答了我的问题here
在TouchImageView.cs的代码中
SetOnTouchListener(new TouchImageViewListener(this));
应改为
base.SetOnTouchListener(new TouchImageViewListener(this));
无论如何,对于大图像,TouchImageView被证明非常慢(至少在我的情况下)。对于会遇到类似问题的任何人,我建议使用实现GestureListener的WebView(或您自己的继承WebView的类)(如Xamarin tutorial中所述)