有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java手势与WebView

我想做的是: 我希望用户能够自定义手势,并将其命名为“向上”、“向下”。。然后,当用户运行我的应用程序时,它会加载一个带有特定url的WebView,如http://google.com。然后用户可以绘制他之前创建的手势。因此,如果他画出“向上”的手势,那么另一个网络视图就会打开

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

我试过什么: 已经创建了一个GestureOverlayView,并将WebView放入其中。不幸的是,当Web视图滚动时,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");

        }*/
    }
}

关于如何将网络视图滚动与手势构建分离,有什么建议吗

谢谢, 帕万


共 (0) 个答案