伙计我有一个活动,启动嵌入式浏览器视图渲染不受我控制的东西.现在假设用户通过单击浏览器视图中的链接再导航一个级别.这将打开一个新的浏览器窗口.为了使用户返回先前的活动,用户必须单击"两次".
我想实现一个"软"后退按钮,它始终显示在嵌入式浏览器视图的顶部.
我在Android WebView上找到了问题,如何在应用程序中处理重定向而不是打开浏览器
但是当我使用该解决方案时,android原生按钮还会将您直接带回到之前的活动(而不是回到页面的历史记录中).有没有办法让我可以做到这两点(有一个自定义后退按钮,让我一直回来,但让原生的本机后退保留了一次回到一页的预期行为?
谢谢!
我想实现一个"软"后退按钮,它始终显示在嵌入式浏览器视图的顶部.
这在您当前的实现中毫无意义.如你所述:
现在假设用户通过单击浏览器视图中的链接再导航一个级别.这将打开一个新的浏览器窗口.
请注意,这里的关键短语是"新的浏览器窗口",指的是用户默认选择的浏览器应用程序.你不能"实现'软'后退按钮,它始终显示在用户默认选择的浏览器应用程序的顶部.虽然您可以放在Button
旁边WebView
,但Button
只有在包含WebView
is 的活动时才能看到,并且用户可以按普通硬件BACK按钮退出该活动.
但是当我使用该解决方案时,android原生按钮还会将您直接带回到之前的活动(而不是回到页面的历史记录中).
这是因为只有一个活动,并且BACK按钮不会自动具有带有a的活动的含义WebView
.例如,假设活动有两个WebViews
- 哪一个会处理?
有没有办法让我可以做到这两点(有一个自定义后退按钮,让我一直回来,但让原生的本机后退保留了一次回到一页的预期行为?
您可以覆盖onBackPressed()
(或onKeyDown()
用于Android 2.0之前的版本)以在按下硬件BACK键时获得控制权.您可以使用它在WebView
历史记录中移回,或者如果没有历史记录,则允许正常处理(finish()
)发生.
我会建议一个操作栏,允许用户切换到你的应用程序的其他模式.操作栏是Honeycomb的一部分,有一些开源实现可以用于早期版本的Android.
归档时间: |
|
查看次数: |
3934 次 |
最近记录: |