Tag: android webview

如何在WebView内部加载外部网页

我的问题是,网页没有加载在web视图内。 mWebview.loadUrl("http://www.google.com"); 启动网页浏览器… 这是我的活动的代码: import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; public class Main extends Activity { private WebView mWebview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mWebview = new WebView(this); mWebview.loadUrl("http://www.google.com"); setContentView(mWebview); } } 我在清单中添加了所需的权限: <uses-permission android:name="android.permission.INTERNET" />

数据加载后如何防止滚动浏览到webview?

所以我有一个迷人的问题。 尽pipe事实上我没有手动或以编程方式滚动我的视图,我的WebView被自动滚动到其中的数据加载后。 viewpager中有一个片段。 当我第一次加载传呼机,它按预期工作,一切都显示。 但是,一旦我“翻页”的数据加载和WebViewpopup到页面的顶部,隐藏其上的意见,这是不可取的。 有谁知道如何防止这种情况发生? 我的布局看起来像这样: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/article_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="2dp" android:text="Some Title" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/article_title" android:textStyle="bold" /> <LinearLayout android:id="@+id/LL_Seperator" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:background="@color/text" android:orientation="horizontal" > </LinearLayout> <WebView android:id="@+id/article_content" android:layout_width="match_parent" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_height="wrap_content" /> <TextView […]

将本地HTML文件加载到WebView中

我有一个本地的HTML页面以及它指向的其他几个资源(CSS文件和JavaScript库),我想加载到一个WebView。 这怎么能实现? 也许不是最好的办法,但我仍在试验。

在ViewPager中水平滚动webview

我已经把一个WebView加载到一个ViewPager中的图像。 当我尝试水平滚动图像时,我移到下一个视图而不是滚动图像。 在移到下一个视图之前是否可以滚动到图像的末尾? @Override public Object instantiateItem(View view, int i) { WebView webview = new WebView(view.getContext()); webview.setHorizontalScrollBarEnabled(true); webview.loadUrl("http://www.site.with.an/image.gif"); ((ViewPager) view).addView(webview, 0); return webview; }

当我的活动不可见时,如何在Android WebView中暂停Flash内容?

我正在尝试使用WebView在我的活动中显示Flash内容。 一切工作都很好,但是当用户点击home键将活动放到后台时,Flash内容会继续运行(声音继续播放等) 我注意到,Android浏览器和Dolphin浏览器似乎都避免了这个问题,并且当浏览活动放到后台时,可以正确地暂停Flash内容。 理想情况下,我想要一个解决scheme,完全杀死WebView,如果活动结束,但暂停,否则(基本上复制浏览器的默认行为) 这里有一个简单的testing,我把它放在Kongregate上加载了一些背景音乐: public class BrowserTest extends Activity { private WebView mWebView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mWebView = new WebView(this); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.getSettings().setPluginsEnabled(true); mWebView.loadUrl("http://m.kongregate.com/games/Jiggmin/the-game-of-disorientation-mobile"); setContentView(mWebView); } @Override protected void onPause(){ super.onPause(); mWebView.pauseTimers(); if(isFinishing()){ mWebView.loadUrl("about:blank"); setContentView(new FrameLayout(this)); } } @Override protected void onResume(){ super.onResume(); mWebView.resumeTimers(); } } 我查看了股票浏览器的最新源代码,似乎正在做类似的事情(调用pauseTimers / resumeTimers),尽pipe我担心我一直在看的代码已经过时了,因为它调用的函数不是似乎再也不存在了。 我确实通过testing一个简单的JavaScript setInterval来更新一个计数器来调用pauseTimers。 […]

如何设置webview的初始缩放/宽度

我试图让WebView具有类似于Android浏览器的行为。 浏览器打开所有页面,尝试将宽度适合屏幕。 但是,WebView的默认行为是以100%的像素比例开始的,因此它开始放大到左上angular。 我花了几个小时试图find一种方法来让WebView像在浏览器中那样将页面缩放到屏幕上,但是我没有任何运气。 有没有人find一种方法来完成这个? 我看到的是一个名为setLoadWithOverviewMode的设置,但是这似乎没有做任何事情。 我还尝试了setInitialScale,但是在不同的屏幕尺寸和网页尺寸上,不会像浏览器缩放那样优雅。 任何人有任何线索? 谢谢 编辑:布赖恩的方法似乎工作时,手机在风景,但不是在肖像。 在纵向它是接近,但仍然不适合页面中的整个屏幕。 我开始这个赏金,希望有一个肯定的方式来获得最初的缩放,以适应页面的宽度在任何方向或屏幕大小的页面。

如何在WebView里添加“返回”function在Fragment里面?

更新:解决! 问题与我的Viewpager而不是WebView有关。 我想添加一个“返回”function,我的WebView里面的Fragment 。 但我不知道如何: public final class TestFragment extends Fragment { static WebView mWeb; private View mContentView; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mContentView = inflater.inflate(R.layout.webview, null); mWeb = (WebView)mContentView.findViewById(R.id.webview); WebSettings settings = mWeb.getSettings(); settings.setJavaScriptEnabled(true); settings.setSupportZoom(false); mWeb.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); mWeb.getSettings().setBuiltInZoomControls(false); mWeb.loadUrl("myurl…"); mWeb.setOnKeyListener(new OnKeyListener(){ public boolean onKey(View v, int keyCode, KeyEvent event) { […]

如何更改Android WebView中的FontSize?

你怎么能手动改变一个webview的字体大小? 例如,当网页载入网页时,字体大小就像是24pt。 和我的Android屏幕太大了。 我已经看过“websettings”,但似乎这两者不相关。 谢谢

Android – WebView语言在Android N上突然更改

我有一个多语言的应用程序与主要语言英语和阿拉伯语中学语言。 如文件所述 , 我已经在清单中添加了android:supportsRtl="true" 。 我已经改变了所有具有right属性的XML属性分别start和end 。 我在strings-ar添加了阿拉伯语语言string(对于其他资源也类似)。 上述设置正常工作。 将Locale更改为ar-AE ,阿拉伯文文本和资源正确显示在我的活动中。 但是,每次使用WebView和/或WebViewClient导航到Activity时,语言环境,文本和布局方向都会突然恢复为设备默认设置。 更多提示: 这仅在使用Android 7.0的Nexus 6P上发生。 一切正常在Android 6.0.1及以下。 只有在导航到具有WebView和/或WebViewClient的Activity (我有几个)时, 才会发生语言环境的突变。 它不会发生在其他任何活动上。 Android 7.0具有多语言环境支持,允许用户设置多个默认语言环境。 所以,如果我将主要语言环境设置为Locale.UK : 然后在导航到WebView ,语言环境从ar-AE更改为en-GB 。 Android 7.0 API更改: 如API更改列表中所示,有关语言环境的新方法已添加到API 24中的以下类中: Locale : Locale.getDefault(…) Locale.setDefault(…) Configuration : getLocales() setLocales(…) 不过,我正在用API 23构build我的应用程序,并没有使用任何这些新的方法。 再说… Nexus 6P仿真器上也会出现该问题。 要获取默认语言环境,我使用了Locale.getDefault() 。 要设置默认语言环境,我使用下面的代码: public static void setLocale(Locale locale){ […]

在webview中自动填写字段

我已经看到这个问题在互联网上浮动,但我还没有find一个工作的解决scheme。 基本上,我想加载我的应用程序,然后按下button; 那么button动作将在已经加载到webview中的网站中填入用户名和密码(或等待onPageFinished)。 最后,login页面上的提交button将被激活。 从我的理解,这可以通过使用loadUrl(javascript)进行java注入来完成,但是我不知道java命令将填充字段。 iOS也提出了同样的问题,但命令略有不同。 是否有可能在webivew中使用javascript来处理问题,还是必须在没有webview的情况下执行http-post? 非常感谢您的帮助!