使用WebView进行手势

时间:2010-11-23 11:55:59

标签: java android

我正在尝试做什么: 我希望用户能够自定义手势并将其命名为“向上”,“向下”等。然后,当用户运行我的应用程序时,它会加载一个带有http://google.com等特定URL的WebView。然后,用户可以绘制他之前创建的手势。因此,如果他绘制“向上”手势,则会打开另一个webview。

我的问题: 当我尝试在webview上绘制手势时,它不会绘制。而是滚动webview。

我尝试了什么: 已经创建了一个GestureOverlayView并将WebView放在其中。不幸的是,当WebView滚动时,GestureOverlayView无法检测到手势。

我的代码:

public class WebViewCenter extends Activity implements OnGesturePerformedListener {
/** Called when the activity is first created. */

GestureLibrary mLibrary;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //WebView webview = (WebView)findViewById(R.id.WebView01);
    //webview.loadUrl("http://www.google.com");
    //Button btnStart = (Button)findViewById(R.id.Start);
    //btnStart.setOnClickListener(this);
    mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
    GestureOverlayView gestures = (GestureOverlayView) findViewById(R.id.gestures_overlay);
    gestures.addOnGesturePerformedListener(this);


    WebView webview = (WebView)findViewById(R.id.WebView);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.loadUrl("http://live.com");


}

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
    mLibrary.load();
    ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
    Log.i("Default Marker", predictions.get(0).toString());
    if (predictions.size() > 0) {
        String action = predictions.get(0).name;

        Log.i("Gesture", action);
        if ("up".equals(action)) {
            Log.i("Up_gesture", "Up gesture detected");
            Intent int_up = new Intent(WebViewCenter.this, WebViewUp.class);
            WebViewCenter.this.startActivity(int_up);
            //return true;
            //Toast.makeText(this, "Adding a contact", Toast.LENGTH_SHORT).show();
        } 
        /*else
        {
            Log.i("Marker 2", "god knows what ur upto");

        }*/
    }
}

关于如何将WebView滚动与手势构建分开的任何建议?

谢谢, 爬完

0 个答案:

没有答案