[and] Pinch to scale for pictures.
This commit is contained in:
parent
7e0346d269
commit
34cdc7903c
3 changed files with 26 additions and 2 deletions
|
@ -9,6 +9,8 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.View.OnClickListener;
|
||||
import android.view.ViewGroup;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebSettings.LayoutAlgorithm;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import android.widget.TextView;
|
||||
|
@ -105,6 +107,16 @@ public class ArticleInfoDetailFragment extends Fragment implements OnClickListen
|
|||
super.onPageFinished(view, url);
|
||||
Utils.fadeOut(getActivity(), mProgressContainer);
|
||||
Utils.fadeIn(getActivity(), mWebView);
|
||||
|
||||
// If picture enable zoom, else disable
|
||||
final WebSettings ws = mWebView.getSettings();
|
||||
|
||||
final boolean isPicture = Utils.isPictUrl(url);
|
||||
ws.setBuiltInZoomControls(isPicture);
|
||||
ws.setSupportZoom(isPicture);
|
||||
ws.setLoadWithOverviewMode(isPicture);
|
||||
ws.setLayoutAlgorithm(isPicture ? LayoutAlgorithm.SINGLE_COLUMN : LayoutAlgorithm.NARROW_COLUMNS);
|
||||
ws.setUseWideViewPort(isPicture);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.example.travelguide.util;
|
|||
import java.io.File;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Build;
|
||||
import android.view.View;
|
||||
import android.view.animation.Animation;
|
||||
import android.view.animation.Animation.AnimationListener;
|
||||
|
@ -90,4 +91,14 @@ public class Utils
|
|||
target.startAnimation(anim);
|
||||
}
|
||||
|
||||
public static boolean isPictUrl(String url)
|
||||
{
|
||||
return url.endsWith(".png") || url.endsWith(".jpg") || url.endsWith(".jpeg") || url.endsWith(".svg");
|
||||
}
|
||||
|
||||
public static boolean isApiLevelAbove(int version)
|
||||
{
|
||||
return Build.VERSION.SDK_INT > version;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ import android.webkit.WebView;
|
|||
|
||||
import com.example.travelguide.util.Utils;
|
||||
|
||||
@SuppressLint("SetJavaScriptEnabled")
|
||||
@SuppressLint({ "SetJavaScriptEnabled", "NewApi" })
|
||||
public class TgWebView extends WebView
|
||||
{
|
||||
|
||||
|
@ -19,7 +19,8 @@ public class TgWebView extends WebView
|
|||
super(context, attrs, defStyle);
|
||||
final WebSettings settings = getSettings();
|
||||
settings.setJavaScriptEnabled(true);
|
||||
|
||||
if (Utils.isApiLevelAbove(10))
|
||||
settings.setDisplayZoomControls(false);
|
||||
}
|
||||
|
||||
public TgWebView(Context context, AttributeSet attrs)
|
||||
|
|
Reference in a new issue