如何使用音量硬键滚动webView? ......可以通过宽松来完成吗?如果是这样,怎么样?我是Android的nooB - 来自ActionScript,任何帮助将不胜感激。
my R.id.webPg001 is a WebView id.
这就是我现在所处的位置:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
int action = event.getAction();
int keyCode = event.getKeyCode();
ScrollView scrollView;
scrollView = (ScrollView) findViewById(R.id.webPg001);
switch (keyCode) {
case KeyEvent.KEYCODE_VOLUME_UP:
if (action == KeyEvent.ACTION_UP) {
scrollView.pageScroll(ScrollView.FOCUS_UP);
scrollView.computeScroll();
}
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
if (action == KeyEvent.ACTION_UP) {
scrollView.pageScroll(ScrollView.FOCUS_DOWN);
scrollView.computeScroll();
}
return true;
default:
return super.dispatchKeyEvent(event);
}
}
答案 0 :(得分:2)
这是正确的代码:(thnx NdrU !!)
@Override
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 :(得分:1)
WebView有方法pageUp
和pageDown
,根据javadoc,它们会滚动半页,因此您可能需要调用它们两次以获得整页滚动。< / p>
关于你的代码,我认为听取按钮按下的优先方式是覆盖onKeyUp
和onKeyDown
方法,但我可能错了(我自己是android开发的新手) )。
答案 2 :(得分:1)
万一你不知道,导航的正常机制是使用箭头键或轨迹球进行硬件级导航。您的网页浏览应该插入此机制,而无需您自己付出额外的努力,因此,除非您有明确的应用程序特定原因可以使用内置功能,否则我建议您使用内置功能。</ p>