2011-02-24 14 views
0

HI,我有在滾動使用設備音量鍵web視圖(滾動視圖)原生Android使用@override。當他/她單手使用時,這對用戶來說是一個非常好的功能。我想用Phonegap來使用它。很明顯,我不能使用:WebView scrollView = (WebView) findViewById(R.id.ch01);所以我如何使用/實現功能與PhoneGap的或傳遞函數w/jQuery的?滾動查看w /音量鍵和PhoneGap?

一些代碼將是有益的 - 我有JQ & PhoneGap的緊張學習曲線。日Thnx!

這是我使用override:

@Override 
// --------------- Set the Device Volume Keys to Scroll the WebView --> 
public boolean dispatchKeyEvent(KeyEvent event) { 
    int action = event.getAction(); 
    int keyCode = event.getKeyCode(); 
    WebView scrollView = (WebView) findViewById(R.id.ch01); 
    switch (keyCode) { 
    case KeyEvent.KEYCODE_VOLUME_UP: 
     if (action == KeyEvent.ACTION_DOWN) { 
      scrollView.pageUp(false); 
     } 
     return true; 
    case KeyEvent.KEYCODE_VOLUME_DOWN: 
     if (action == KeyEvent.ACTION_DOWN) { 
      scrollView.pageDown(false); 
     } 
     return true; 
    default: 
     return super.dispatchKeyEvent(event); 
    } 
} 

回答

1

這樣做會延長onKeyDown method override in DroidGap.java的最簡單,最快捷的方式。少數情況下加入條件,捕獲音量鍵,並使用你看到同樣的辦法,這種方法存在,你可以直接通過調用像調用JavaScript:

this.appView.loadUrl("javascript:alert('hello world!');"); 

當然,你可能變化在alert調用其他特定於應用程序的東西,或者甚至直接致電window.scrollBy做滾動。

一個更好,更模塊化的方法將封裝這一功能爲PhoneGap plug-in。然後,您可以將其捐獻回社區,因爲我確信其他人會讚賞並利用此功能! ;)