mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 01:17:14 +02:00
Hide web preview buttons after 5 secs
This commit is contained in:
parent
21b089fa39
commit
770a31faad
2 changed files with 27 additions and 3 deletions
|
@ -277,7 +277,7 @@ public class InterfaceActivity extends QtActivity implements WebViewFragment.OnW
|
||||||
}
|
}
|
||||||
if (args != null && args.containsKey(WebViewActivity.WEB_VIEW_ACTIVITY_EXTRA_URL)) {
|
if (args != null && args.containsKey(WebViewActivity.WEB_VIEW_ACTIVITY_EXTRA_URL)) {
|
||||||
WebViewFragment webViewFragment = (WebViewFragment) getFragmentManager().findFragmentByTag("webViewFragment");
|
WebViewFragment webViewFragment = (WebViewFragment) getFragmentManager().findFragmentByTag("webViewFragment");
|
||||||
webViewFragment.loadUrl((String) args.get(WebViewActivity.WEB_VIEW_ACTIVITY_EXTRA_URL));
|
webViewFragment.loadUrl((String) args.get(WebViewActivity.WEB_VIEW_ACTIVITY_EXTRA_URL), true);
|
||||||
webViewFragment.setToolbarVisible(true);
|
webViewFragment.setToolbarVisible(true);
|
||||||
webViewFragment.setCloseAction(() -> { webSlidingDrawer.animateClose(); webSlidingDrawer.setVisibility(View.GONE);} );
|
webViewFragment.setCloseAction(() -> { webSlidingDrawer.animateClose(); webSlidingDrawer.setVisibility(View.GONE);} );
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,9 @@ import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.net.http.SslError;
|
import android.net.http.SslError;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.Looper;
|
||||||
|
import android.util.Log;
|
||||||
import android.view.GestureDetector;
|
import android.view.GestureDetector;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -30,6 +33,7 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
|
|
||||||
public static final String URL = "url";
|
public static final String URL = "url";
|
||||||
public static final String TOOLBAR_VISIBLE = "toolbar_visible";
|
public static final String TOOLBAR_VISIBLE = "toolbar_visible";
|
||||||
|
private static final long DELAY_HIDE_TOOLBAR_MILLIS = 5 * 1000;
|
||||||
|
|
||||||
private WebView myWebView;
|
private WebView myWebView;
|
||||||
private GestureDetector gestureDetector;
|
private GestureDetector gestureDetector;
|
||||||
|
@ -40,6 +44,16 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
|
|
||||||
private OnWebViewInteractionListener mListener;
|
private OnWebViewInteractionListener mListener;
|
||||||
private Runnable mCloseAction;
|
private Runnable mCloseAction;
|
||||||
|
private Handler mHandler;
|
||||||
|
|
||||||
|
private Runnable mHideToolbar = new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
if (mToolbar != null) {
|
||||||
|
mToolbar.setVisibility(View.GONE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public boolean onKeyDown(int keyCode) {
|
public boolean onKeyDown(int keyCode) {
|
||||||
// Check if the key event was the Back button and if there's history
|
// Check if the key event was the Back button and if there's history
|
||||||
|
@ -54,8 +68,9 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
return myWebView == null || myWebView.getUrl() == null ? mUrl : myWebView.getUrl();
|
return myWebView == null || myWebView.getUrl() == null ? mUrl : myWebView.getUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadUrl(String url) {
|
public void loadUrl(String url, boolean showToolbar) {
|
||||||
mUrl = url;
|
mUrl = url;
|
||||||
|
mToolbarVisible = showToolbar;
|
||||||
loadUrl(myWebView, url);
|
loadUrl(myWebView, url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,6 +79,10 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
webView.getSettings().setLoadWithOverviewMode(true);
|
webView.getSettings().setLoadWithOverviewMode(true);
|
||||||
webView.getSettings().setUseWideViewPort(true);
|
webView.getSettings().setUseWideViewPort(true);
|
||||||
webView.loadUrl(url);
|
webView.loadUrl(url);
|
||||||
|
mToolbar.setVisibility(mToolbarVisible ? View.VISIBLE : View.GONE);
|
||||||
|
if (mToolbarVisible) {
|
||||||
|
mHandler.postDelayed(mHideToolbar, DELAY_HIDE_TOOLBAR_MILLIS);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setToolbarVisible(boolean visible) {
|
public void setToolbarVisible(boolean visible) {
|
||||||
|
@ -76,6 +95,11 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onDown(MotionEvent motionEvent) {
|
public boolean onDown(MotionEvent motionEvent) {
|
||||||
|
mHandler.removeCallbacks(mHideToolbar);
|
||||||
|
if (mToolbarVisible) {
|
||||||
|
mToolbar.setVisibility(mToolbarVisible ? View.VISIBLE : View.GONE);
|
||||||
|
mHandler.postDelayed(mHideToolbar, DELAY_HIDE_TOOLBAR_MILLIS);
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -143,6 +167,7 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
View rootView = inflater.inflate(R.layout.fragment_web_view, container, false);
|
View rootView = inflater.inflate(R.layout.fragment_web_view, container, false);
|
||||||
mProgressBar = rootView.findViewById(R.id.toolbarProgressBar);
|
mProgressBar = rootView.findViewById(R.id.toolbarProgressBar);
|
||||||
myWebView = rootView.findViewById(R.id.web_view);
|
myWebView = rootView.findViewById(R.id.web_view);
|
||||||
|
mHandler = new Handler();
|
||||||
gestureDetector = new GestureDetector(this);
|
gestureDetector = new GestureDetector(this);
|
||||||
gestureDetector.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() {
|
gestureDetector.setOnDoubleTapListener(new GestureDetector.OnDoubleTapListener() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -179,7 +204,6 @@ public class WebViewFragment extends Fragment implements GestureDetector.OnGestu
|
||||||
mCloseAction.run();
|
mCloseAction.run();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
mToolbar.setVisibility(mToolbarVisible ? View.VISIBLE : View.GONE);
|
|
||||||
if (mUrl != null) {
|
if (mUrl != null) {
|
||||||
loadUrl(myWebView, mUrl);
|
loadUrl(myWebView, mUrl);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue