рдореИрдВ рдПрдХ рдкреЗрд╢реЗрд╡рд░ рдбреЗрд╡рд▓рдкрд░ рдирд╣реАрдВ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд┐рдпрд╛ рд╣реИред рдЕрдм рдореИрдВ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдЬрд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрдИрдЯреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡реЗрдмрд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рдПрдВрдбреНрд░реЙрдЗрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рд▓реЗрдЦ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рд▓реЗрдЦ рдореЗрдВ рд╕рднреА рдЪрд┐рддреНрд░ рдЧреИрд▓рд░реА рдореЗрдВ рдЦреБрд▓реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╣рдмреНрд░ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВред
рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдореИрдиреБрдЕрд▓ рд╕рд░рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣ рдореИрдиреБрдЕрд▓ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдХрдИ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЖрдЬрд╝рдорд╛рдПред рдХреБрдЫ рдиреЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛, рджреВрд╕рд░реЛрдВ рдХреЛ jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреЗрдЬ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ, рдореИрдВрдиреЗ PhotoSwipe рдкреНрд▓рдЧрдЗрди рдЪреБрдирд╛ред рдкреНрд▓рдЧрдЗрди рдХреЛ jQuery рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╡рдЬрди рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдкрд╣рд▓реЗ, рдЕрдиреБрднрд╡рд╣реАрдирддрд╛ рд╕реЗ, рдореИрдВрдиреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдЪреНрдЪреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛, рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕рдВрдкрддреНрддрд┐ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдРрдк тЖТ рдирдпрд╛ тЖТ рдлрд╝реЛрд▓реНрдбрд░ тЖТ рдПрд╕реЗрдЯреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдорд╛рд░реНрдХрдЕрдк рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рд╡реНрдпреВ рд╣реЛрдЧрд╛:
рдХреЛрдб<?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent"></WebView> </android.support.constraint.ConstraintLayout>
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ PhotoSwipe (рдкреНрд▓рдЧрдЗрди рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рд▓рд┐рдВрдХ) рд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдпрд╛ рдХреНрд▓реЛрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдбрд┐рд╕реНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рдореНрдкреВрд░реНрдг рдХрдВрдЯреЗрдВрдЯ рдХреЛ рд╕рдореНрдкрддреНрддрд┐рдпреЛрдВ рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (Dist рдХреЛ рдирд╛рдо рдмрджрд▓рдХрд░ PhotoSwipe рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдк css рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ style.csf рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЪрд┐рддреНрд░ рдкреВрд░реА рдЪреМрдбрд╝рд╛рдИ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрдВред
img { width: 100%; height: auto; }
рдЧреИрд▓рд░реА рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╢реИрд▓рд┐рдпреЛрдВ, рдЬрд╛рд╡рд╛рд╕реНрд▓рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рддреНрд╡рдЪрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реИрд▓реА рдлрд╝рд╛рдЗрд▓ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк HTML рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ webview рдХреЗ рд▓рд┐рдП html рдЬрд╛ рд░рд╣рд╛ рд╣реИ public String getHTML() { String header = "<!DOCTYPE HTML><HTML><head><title>test</title>";
ред
рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧреИрд▓рд░реА рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреЗрдЬ рдХреЗ рд╕реНрд░реЛрдд рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд░рд▓ рдкреНрд▓рдЧрдЗрди рдирд╣реАрдВ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдХреБрдЫ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╕рдорд╛рдкрди рдЯреИрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдб рдбрд╛рд▓рдирд╛ рдЙрдЪрд┐рдд рд╣реИ
рдЧреИрд▓рд░реА рдХрдВрдЯреЗрдирд░ public String getPhotoSwipeHTML() { return "<!-- Root element of PhotoSwipe. Must have class pswp. -->\n" + "<div class=\"pswp\" tabindex=\"-1\" role=\"dialog\" aria-hidden=\"true\">\n" + "\n" + " <!-- Background of PhotoSwipe. \n" + " It's a separate element as animating opacity is faster than rgba(). -->\n" + " <div class=\"pswp__bg\"></div>\n" + "\n" + " <!-- Slides wrapper with overflow:hidden. -->\n" + " <div class=\"pswp__scroll-wrap\">\n" + "\n" + " <!-- Container that holds slides. \n" + " PhotoSwipe keeps only 3 of them in the DOM to save memory.\n" + " Don't modify these 3 pswp__item elements, data is added later on. -->\n" + " <div class=\"pswp__container\">\n" + " <div class=\"pswp__item\"></div>\n" + " <div class=\"pswp__item\"></div>\n" + " <div class=\"pswp__item\"></div>\n" + " </div>\n" + "\n" + " <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->\n" + " <div class=\"pswp__ui pswp__ui--hidden\">\n" + "\n" + " <div class=\"pswp__top-bar\">\n" + "\n" + " <!-- Controls are self-explanatory. Order can be changed. -->\n" + "\n" + " <div class=\"pswp__counter\"></div>\n" + "\n" + " <button class=\"pswp__button pswp__button--close\" title=\"Close (Esc)\"></button>\n" + "\n" + " <button class=\"pswp__button pswp__button--share\" title=\"Share\"></button>\n" + "\n" + " <button class=\"pswp__button pswp__button--fs\" title=\"Toggle fullscreen\"></button>\n" + "\n" + " <button class=\"pswp__button pswp__button--zoom\" title=\"Zoom in/out\"></button>\n" + "\n" + " <!-- Preloader demo https://codepen.io/dimsemenov/pen/yyBWoR -->\n" + " <!-- element will get class pswp__preloader--active when preloader is running -->\n" + " <div class=\"pswp__preloader\">\n" + " <div class=\"pswp__preloader__icn\">\n" + " <div class=\"pswp__preloader__cut\">\n" + " <div class=\"pswp__preloader__donut\"></div>\n" + " </div>\n" + " </div>\n" + " </div>\n" + " </div>\n" + "\n" + " <div class=\"pswp__share-modal pswp__share-modal--hidden pswp__single-tap\">\n" + " <div class=\"pswp__share-tooltip\"></div> \n" + " </div>\n" + "\n" + " <button class=\"pswp__button pswp__button--arrow--left\" title=\"Previous (arrow left)\">\n" + " </button>\n" + "\n" + " <button class=\"pswp__button pswp__button--arrow--right\" title=\"Next (arrow right)\">\n" + " </button>\n" + "\n" + " <div class=\"pswp__caption\">\n" + " <div class=\"pswp__caption__center\"></div>\n" + " </div>\n" + "\n" + " </div>\n" + "\n" + " </div>\n" + "\n" + "</div>"; }
рдкреНрд░рд▓реЗрдЦрди рдЫрд╡рд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкреНрд▓рдЧрдЗрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ PhotoSwipe рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдХреИрд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреАред рдореИрдВ рдЖрд╡реЗрджрди рдореЗрдВ рдХрд┐рд╕реА рдФрд░ рдХреА рд╕рд╛рдЗрдЯ рд╕реЗ рдПрдХ рд▓реЗрдЦ рджрд┐рдЦрд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рддреИрдпрд╛рд░ HTML рдкреНрд░рд╛рдкреНрдд рд╣реИред рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдХрд╛рдо рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдореИрдВ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рдХреЛ рдмрджрд▓рддрд╛ рд╣реВрдВ (рдХреНрдпреЛрдВрдХрд┐ рд▓реЗрдЦ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрддрддрд╛ рдирд╣реАрдВ рд╣реИ), рдПрдХ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ (рдЬрдм рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпреВрдЖрд░рдПрд▓ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рдЧреИрд▓рд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкреНрд▓рдЧ-рдЗрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ)ред
рдкреНрд▓рдЧрдЗрди рдХреЛ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдЧреИрд▓рд░реА рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдЬрдм рдкреВрд░реЗ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЫрд╡рд┐ рдХреЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЖрдХрд╛рд░ рдФрд░ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдКрдВрдЪрд╛рдИ рдЧреБрдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЕрдВрддрд┐рдо рдЖрдХрд╛рд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдбред рдкрд╣рд▓реЗ, рдЬрдм рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, init () рдлрд╝рдВрдХреНрд╢рди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ; рдлрд┐рд░, рдЬрдм рдЖрдк рдЫрд╡рд┐ рдУрдкрдирдЧреИрд▓рд░реА () рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ WebView рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдкреГрд╖реНрда рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
webView = findViewById(R.id.webView); webView.setWebViewClient(new WebViewClient()); webView.setWebChromeClient(new WebChromeClient()); webView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setDomStorageEnabled(true);
рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рдЬрдм рдЖрдк рдЫрд╡рд┐ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд▓рдЧрдЗрди рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдЧреИрд▓рд░реА рдХреЗ рдЦреБрд▓реЗ рдмрдЯрди рдХреЛ рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рди рдХрд┐ рдкреНрд▓рдЧрдЗрдиред
рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЬрд╡рд┐рд╕реНрдкрд┐рд▓реНрдЯ рдкреБрд▓ рдмрдирд╛рдпрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЧреИрд▓рд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдЧрд▓рдЯрди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдХреЛрдб package me.denko.photoswipe; class GalleryState { private static final GalleryState ourInstance = new GalleryState(); static GalleryState getInstance() { return ourInstance; } private GalleryState() { } private boolean isGallery = false; public boolean isGallery() { return isGallery; } public void setGallery(boolean gallery) { isGallery = gallery; } }
WebView рд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдХрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕
рдХреЛрдб package me.denko.photoswipe; import android.webkit.JavascriptInterface; public class JavascriptFromWebView { @JavascriptInterface public static void setGallery(boolean bool) { GalleryState.getInstance().setGallery(bool); } }
рдЖрдкрдХреЛ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ WebView рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
webView.addJavascriptInterface(new JavascriptFromWebView(), "callAndroid");
рдЧреИрд▓рд░реА рдХреЛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЖрдкрдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛
callAndroid.setGallery(true);
Photoswipe.js рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЧреИрд▓рд░реА рдмрдВрдж рд╕реНрдХреНрд░рд┐рдкреНрдЯ
рдХреЛрдб close: function() { if(!_isOpen) { return; } callAndroid.setGallery(false);
рдЕрдм рдЬрдм рдЖрдк рдЧреИрд▓рд░реА рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдерд┐рддрд┐ рд╕рд╣реА рдкрд░ рд╕реЗрдЯ рд╣реЛрддреА рд╣реИ, рдмрдВрдж рд╣реЛрдиреЗ рдкрд░, рдЭреВрдареАред рдмреИрдХ рдмрдЯрди рд╣реИрдВрдбрд▓рд░ WebView рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рднреА рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред
рдХреЛрдб webView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (event.getAction() != KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_BACK) { if (GalleryState.getInstance().isGallery()) { webView.reload(); GalleryState.getInstance().setGallery(false); } else onBackPressed(); } return true; } });
рдЕрдм рдЧреИрд▓рд░реА рдХреЛ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдмреИрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкреВрд░реНрдг
github рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдбред
рд╕рдВрд╣рд┐рддрд╛ рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред рдЕрдЧрд░ рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреЗрдВред