我制作了一个使用WebView显示移动网站的应用。我还添加了ProgressDialog,它出现在页面完成加载之前。我想添加一个背面和一个我的应用操作栏中的主页按钮。当在移动网站的主页中点击任何链接时,应显示这些按钮。当我们返回主页时消失(类似于Indeed Job search App)。
答案 0 :(得分:0)
This page可能会对您有所帮助。
操作栏按钮的行为与溢出菜单的元素相似
只需在菜单资源文件中添加一个<item>
,其属性为app:showAsAction="ifRoom"
或app:showAsAction="always"
。
根据android dev网站,你的xml应该是这样的:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- "Mark Favorite", should appear as action button if possible -->
<item
android:id="@+id/action_back"
android:icon="@drawable/ic_go_back"
android:title="@string/action_back"
app:showAsAction="ifRoom"/>
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
app:showAsAction="never"/>
</menu>
然后你必须为该按钮附加一个监听器:就像它在溢出菜单中一样处理。因此,您必须覆盖onOptionsItemSelected
添加类似if (mWebView.canGoBack()) {mWebView.goBack();}
以下是代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_back:
if (mWebView.canGoBack()) {
mWebView.goBack();
}
// ... other cases ...
}
}
答案 1 :(得分:0)
只需在返回按钮和主页按钮上添加onClickListeners
即可。
1。对于后退按钮的实现。
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(webView.canGoBack()){
webView.goBack();
}
}
});
2.对于主页按钮实现。
homeButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
while(webView.canGoBack())
{
webView.goBack();
}
}
});
答案 2 :(得分:-1)
您可以根据网址更改的当前网址设置这两个菜单操作的可见性:
actionBack.setVisibility(yourWebView.getUrl().equals("www.yourHomePage.com") ? View.INVISIBLE : View.VISIBLE);