LollipopFixedWebView.java 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. package com.cooleshow.base.widgets;
  2. import android.annotation.TargetApi;
  3. import android.content.Context;
  4. import android.content.res.Configuration;
  5. import android.os.Build;
  6. import android.util.AttributeSet;
  7. import android.webkit.WebView;
  8. public class LollipopFixedWebView extends WebView {
  9. public LollipopFixedWebView(Context context) {
  10. super(getFixedContext(context));
  11. }
  12. public LollipopFixedWebView(Context context, AttributeSet attrs) {
  13. super(getFixedContext(context), attrs);
  14. }
  15. public LollipopFixedWebView(Context context, AttributeSet attrs, int defStyleAttr) {
  16. super(getFixedContext(context), attrs, defStyleAttr);
  17. }
  18. @TargetApi(Build.VERSION_CODES.LOLLIPOP)
  19. public LollipopFixedWebView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
  20. super(getFixedContext(context), attrs, defStyleAttr, defStyleRes);
  21. }
  22. public static Context getFixedContext(Context context) {
  23. if (Build.VERSION.SDK_INT >= 21 && Build.VERSION.SDK_INT < 23) // Android Lollipop 5.0 & 5.1
  24. return context.createConfigurationContext(new Configuration());
  25. return context;
  26. }
  27. }