I use Twitter Bootstrap 3 and fixed top navbar.
I have a Webview inside my android application.
I added many features to my app for weeks but I couldn't find a way to solve this issue.
Everything works fine generally.
User clicks in a link in fixed top navbar and webview loads new URL.
But when
* user loads a webpage
* then goes to bottom of page
* goto top of page
[PART 1 starts]
* user clicks navbar link
* navbar links can't be clicked
* links doesn't respond
[PART 2 starts]
* user scrolls page to down in a very small amount (say 1-2 mm.)
* vertical scrollbar appears in right
[PART 3 starts]
* user clicks link
* navbar links are clickable.
I'm sorry that I can't provide application codes here but I can do my best for debugging questions. I pasted PART 1, 2 and 3's logcat results below.
Fiddle: http://jsfiddle.net/mavent/X3THf/19/
<nav class="navbar navbar-inverse navbar-fixed-top visible-xs" role="navigation">
<div class="navbar-header" style="text-align:center;">
<button type="button" class="navbar-toggle pull-left" data-toggle="collapse" data-target=".navbar-part2"> <span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<button type="button" class="navbar-toggle pull-right" data-toggle="collapse" data-target=".navbar-part3" style="padding: 3px 15px;">
<img src="http://www.wdc.com/Global/images/icons/icon_supporthelp.gif" width="24" height="24" alt="aaaa">
</button>
<div style="padding-top: 15px;"> <a href="/page0" title="aaa" style="color:#ffffff;margin-top:40px;">Example.com</a>
</div>
</div>
<div class="collapse navbar-collapse navbar-part2">
<ul class="nav navbar-nav">
<li><a href="/page1">page 1</a>
</li>
<li><a href="/page2">page 2</a>
</li>
</ul>
</div>
<div class="collapse navbar-collapse navbar-part3">
<ul class="nav navbar-nav">
<li><a href="/page3">page 3</a>
</li>
<li><a href="/page4">page 4</a>
</li>
</ul>
</div>
In my webview I don't make very specific actions. It is a common webview.
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebChromeClient(new myWebChromeClient());
mWebView.setWebViewClient(new myWebViewClient());
mWebView.getSettings().setJavaScriptEnabled(true);
String defaultUserAgent = mWebView.getSettings().getUserAgentString();
mWebView.getSettings().setUserAgentString(defaultUserAgent+" my app");
.
[PART 1]
11-09 13:27:03.522 17315-17355/com.example.android E/webcoreglue﹕ Should not happen: no rect-based-test nodes found
11-09 13:27:03.612 17315-17315/com.example.android V/WebViewInputDispatcher﹕ blockWebkitDraw
11-09 13:27:03.612 17315-17315/com.example.android V/WebViewInputDispatcher﹕ blockWebkitDraw lockedfalse
11-09 13:27:03.622 17315-17315/com.example.android V/webview﹕ singleCursorHandlerTouchEvent -getEditableSupport FASLE
11-09 13:27:03.923 17315-17355/com.example.android D/webview﹕ blockWebkitViewMessage= false
[PART 2]
11-09 13:27:32.711 17315-17315/com.example.android V/WebViewInputDispatcher﹕ blockWebkitDraw
11-09 13:27:32.711 17315-17315/com.example.android V/WebViewInputDispatcher﹕ blockWebkitDraw lockedfalse
11-09 13:27:32.711 17315-17315/com.example.android V/webview﹕ singleCursorHandlerTouchEvent -getEditableSupport FASLE
[PART 3]
11-09 13:27:42.650 17315-17315/com.example.android V/WebViewInputDispatcher﹕ blockWebkitDraw
11-09 13:27:42.650 17315-17315/com.example.android V/WebViewInputDispatcher﹕ blockWebkitDraw lockedtrue
11-09 13:27:42.650 17315-17315/com.example.android V/webview﹕ singleCursorHandlerTouchEvent -getEditableSupport FASLE
11-09 13:27:42.961 17315-17355/com.example.android D/webview﹕ blockWebkitViewMessage= false
11-09 13:27:48.176 17315-17355/com.example.android I/GATE﹕ <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
11-09 13:27:48.256 17315-17315/com.example.android W/IInputConnectionWrapper﹕ getSelectedText on inactive InputConnection
11-09 13:27:48.256 17315-17315/com.example.android W/IInputConnectionWrapper﹕ setComposingText on inactive InputConnection
11-09 13:27:48.256 17315-17315/com.example.android W/IInputConnectionWrapper﹕ getExtractedText on inactive InputConnection
So everytime navbar links doesn't function, user must make some scroll on page and then click the link.