hy Deniz is correct, u should create your on custom view of web-view let me explain u ,see my code implement this code and check it out.
*public class TestYoutubeVedio extends Activity * *{* * * * HtmlvVido mWebView;* * * * * * * * * * * * * * @Override* * public void onCreate(Bundle savedInstanceState)* * {* * super.onCreate(savedInstanceState);* * * * mWebView = new HtmlvVido(this);* * * * if (savedInstanceState != null) * * {* * mWebView.restoreState(savedInstanceState);* * * * * * } else* * { * * String Play = "<html><body bgcolor="+"#000000"+"><iframe width=\"1100px\" height=\"1500px\" src=\" http://www.youtube.com/embed/g6-8zkbCjl8\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; * * * * * * }* * * * setContentView(mWebView.getLayout()); * * * * }* * * * @Override* * public void onSaveInstanceState(Bundle outState) * * {* * * * super.onSaveInstanceState(outState);* * mWebView.saveState(outState);* * * * * * }* * * * @Override* * public void onStop() * * {* * * * super.onStop();* * * * mWebView.stopLoading();* * }* * * *}* *create ur custom web-view * *public class HtmlvVido extends WebView* *{* * * * private Context mContext;* * private MyWebChromeClient mWebChromeClient;* * private View mCustomView;* * private FrameLayout mCustomViewContainer;* * private WebChromeClient.CustomViewCallback mCustomViewCallback;* * * * private static FrameLayout mContentView;* * private FrameLayout mBrowserFrameLayout;* * private FrameLayout mLayout;* * * * FrameLayout COVER_SCREEN_PARAMS1;* * * * * * static final String LOGTAG = "HTML5WebView";* * * * @SuppressWarnings("deprecation")* * private void init(Context context) * * {* * mContext = context; * * Activity a = (Activity) mContext;* * * * mLayout= new FrameLayout(context);* * * * * * * * * * * * * * * * mBrowserFrameLayout = (FrameLayout) LayoutInflater.from(a).inflate(R.layout.custum, null);* * * * * * * * mContentView = (FrameLayout) mBrowserFrameLayout.findViewById(R.id.main_content);* * mCustomViewContainer = (FrameLayout) mBrowserFrameLayout.findViewById(R.id.fullscreen_custom_content);* * * * mLayout.addView(mBrowserFrameLayout,COVER_SCREEN_PARAMS);* * * * * * * * // Configure the webview* * WebSettings s = getSettings();* * s.setBuiltInZoomControls(true);* * s.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);* * s.setUseWideViewPort(true);* * s.setLoadWithOverviewMode(true);* * // s.setSavePassword(true);* * s.setSaveFormData(true);* * s.setJavaScriptEnabled(true);* * * * mWebChromeClient = new MyWebChromeClient();* * setWebChromeClient(mWebChromeClient);* * * * setWebViewClient(new WebViewClient());* * * *setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);* * * * // enable navigator.geolocation * * // s.setGeolocationEnabled(true);* * // s.setGeolocationDatabasePath("/data/data/org.itri.html5webview/databases/"); * * * * // enable Web Storage: localStorage, sessionStorage* * // s.setDomStorageEnabled(true);* * * * mContentView.addView(this);* * }* * * * public HtmlvVido(Context context) * * {* * super(context);* * init(context);* * }* * * * public HtmlvVido(Context context, AttributeSet attrs) {* * super(context, attrs);* * init(context);* * }* * * * public HtmlvVido(Context context, AttributeSet attrs, int defStyle)* * {* * super(context, attrs, defStyle);* * * * * * * * init(context);* * }* * * * public FrameLayout getLayout() * * {* * * * return mLayout;* * }* * * * public boolean inCustomView() {* * return (mCustomView != null);* * }* * * * public void hideCustomView() {* * mWebChromeClient.onHideCustomView();* * }* * * * @Override* * public boolean onKeyDown(int keyCode, KeyEvent event) {* * if (keyCode == KeyEvent.KEYCODE_BACK) {* * if ((mCustomView == null) && canGoBack()){* * goBack();* * return true;* * }* * }* * return super.onKeyDown(keyCode, event);* * }* * * * private class MyWebChromeClient extends WebChromeClient * * {* * private Bitmap mDefaultVideoPoster;* * private View mVideoProgressView;* * * * @Override* * public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback)* * {* * //Log.i(LOGTAG, "here in on ShowCustomView");* * HtmlvVido.this.setVisibility(View.GONE);* * * * // if a view already exists then immediately terminate the new one* * if (mCustomView != null) {* * callback.onCustomViewHidden();* * return;* * }* * * * mCustomViewContainer.addView(view);* * mCustomView = view;* * mCustomViewCallback = callback;* * mCustomViewContainer.setVisibility(View.VISIBLE);* * }* * @Override* * public void onHideCustomView() {* * System.out.println("customview hideeeeeeeeeeeeeeeeeeeeeeeeeee");* * if (mCustomView == null)* * return; * * * * // Hide the custom view.* * mCustomView.setVisibility(View.GONE);* * * * // Remove the custom view from its container.* * mCustomViewContainer.removeView(mCustomView);* * mCustomView = null;* * mCustomViewContainer.setVisibility(View.GONE);* * mCustomViewCallback.onCustomViewHidden();* * * * HtmlvVido.this.setVisibility(View.VISIBLE);* * HtmlvVido.this.goBack();* * //Log.i(LOGTAG, "set it to webVew");* * }* * * * * * @Override* * public View getVideoLoadingProgressView() {* * //Log.i(LOGTAG, "here in on getVideoLoadingPregressView");* * * * if (mVideoProgressView == null) {* * LayoutInflater inflater = LayoutInflater.from(mContext);* * mVideoProgressView = inflater.inflate(R.layout.vedioloadingprogress, null);* * }* * return mVideoProgressView; * * }* * * * @Override* * public void onReceivedTitle(WebView view, String title)* * {* * ((Activity) mContext).setTitle(title);* * }* * * * @Override* * public void onProgressChanged(WebView view, int newProgress)* * {* * ((Activity) mContext).getWindow().setFeatureInt(Window.FEATURE_PROGRESS, newProgress*100);* * }* * * * @Override* * public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) {* * callback.invoke(origin, true, false);* * }* * }* * * * * * * * static final FrameLayout.LayoutParams COVER_SCREEN_PARAMS = new FrameLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);* * * * * *}* *custom.xml* * * * <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" > <LinearLayout android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/lener"> </LinearLayout> <FrameLayout android:id="@+id/fullscreen_custom_content" android:layout_width="match_parent" android:layout_height="match_parent"> </FrameLayout> <RelativeLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/re" > <LinearLayout android:id="@+id/error_console" android:layout_width="match_parent" android:layout_alignBottom="@id/re" android:layout_height="wrap_content" > </LinearLayout> <FrameLayout android:id="@+id/main_content" android:layout_width="fill_parent" android:layout_height="match_parent" > </FrameLayout> </RelativeLayout> </FrameLayout> * On Sun, Jun 10, 2012 at 1:04 AM, Angélica Oliveira <angelica....@gmail.com>wrote: > I tried playing .mp4 video, from my internal storage. > > I saw something about implement onShowCustomView but I didn't realize > what I have to do, can you (Deniz) give me an example? > > I already searched it on google, but I didn't find anything, I would like > to watch the video on the webview, not in a VideoView... > > Thank's! > > > 2012/6/7 Narendra Singh Rathore <nsr.curi...@gmail.com> > >> Are you sure, your device supports swf file, or you have proper >> plugin/player for it? >> May be that's the problem. >> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Android Developers" group. >> To post to this group, send email to android-developers@googlegroups.com >> To unsubscribe from this group, send email to >> android-developers+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/android-developers?hl=en >> > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en