我对Android有另一个问题。今天我试图使用WebView来显示图像。图像的尺寸大于使用户能够滚动的视图。现在,我想要实现的是当用户触摸图像上的某个地方(在web视图中)时,将触发事件并存储触摸的坐标。单击WebView上的事件坐标
当我尝试在xml布局中使用onClick来完成此操作时,我所获取的所有参数都是触发点击事件的视图对象。这里是我的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView
android:id="@+id/upperview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:onClick="imageClicked" />
<WebView
android:id="@+id/lowerview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" />
</LinearLayout>
现在,这里是我的活动:
public class MyActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView upperview = (WebView) findViewById(R.id.upperview);
upperview.getSettings().setBuiltInZoomControls(true);
upperview.loadUrl("file:///android_asset/texture.png");
WebView lowerview = (WebView) findViewById(R.id.lowerview);
String htmlstring = "<h1>Header</h1><p>This is HTML text<br /><i>Formatted in italics</i></p>";
lowerview.loadData(htmlstring, "text/html", "utf-8");
}
public void imageClicked(View view) {
}
}
现在,还有的imageClicked方法中没有的功能,因为我不知道在哪里可以找到坐标。我做错了吗?我在想也许xml布局中的onClick属性只对应于webview中的通用点击/触摸。有什么替代方案可以实现我想要的吗?感谢提前:)
我刚试过那个,它工作。但是我可能会在这里做错误的事情,因为我想要相对于图像的坐标。事件的坐标是相对于视图的权利? – kishidp 2012-07-27 06:33:27