导航:首页 > 操作系统 > androidwebview宽度

androidwebview宽度

发布时间:2022-08-18 20:07:32

android webview初始缩放比例

webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
求给分!

② android webview控件,当控件宽度较小时,自适应问题

webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setLoadWithOverviewMode(true);

或者WebSettings webSettings= webView.getSettings(); // webView: 类WebView的实例
webSettings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

请尝试一下进行这样的设置

③ 如何获取WebView的内容宽度

The extensive Android SDK allows you to do many great things with particular views like the WebView for displaying webpages on Android powered devices.
Android SDK 的扩展,通过使用特定的view,允许你做许多事情。比如,WebView,用来在Android手机上展示网页。
As of lately while I was experimenting with the Android SDK I was using a WebView in one of my activities.
最近,我在体验Android SDK的时候,在一个Activity中用到了WebView。
From that particular WebView I needed to know the ContentHeight but also the ContentWidth.
从WebView,我不但想要知道ContentHeight,还想知道ContentWidth。
Now getting the contentHeight is easy like so:
现在的情况是:获取contentHeight很easy,如下:

webview.getContentHeight();

Unfortunately getting the contentWidth from a WebView is rather more difficult, since there is not a simple method like:
不幸的是,从一个WebView获取contentWidth是相当困难,因为SDK中没有一个像这样的方法:
// THIS METHOD DOES NOT EXIST!
webview.getContentWidth();

There are ways to get the contentWidth of the rendered HTML page and that is through javascript. If Javascript can get it for you, then you can also have them in your Java code within your Android App.
当然是有方法获取contentWidth的,就是通过Javascript来获取。如果你能够支持Javascript,那么你就可以在你的Android 程序中,使用java代码来获取宽度。
By using a JavascriptInterface with your WebView you can let Javascript communicate with your Android App Java code by invoking methods on a registered object that you can embed using the JavascriptInterface.
通过在你的WebView中使用JavascriptInterface,通过调用你注册的JavascriptInterface方法,可以让Javascript和你的Android程序的java代码相互连通。

So how does this work?
怎么做呢?

For a quick example I created a simple Activity displaying a webview that loads a webpage wich displays a log message and a Toast message with the contentWidth wich was determined using Javascript. Note that this happens AFTER the page was finished loading, because before the page is finished loading the width might not be fully rendered. Also keep in mind that if there is content loaded asynchronously that it doesn’t affect widths (most likely only heights will be affected as the width is almost always fully declared in CSS files unless you have a 100% width webpage).
搭建一个快速的例子:创建一个简单的展示webView的Activity,一个LogCat消息,一个Toast消息,用来显示我们通过Javascript获取的宽度。注意:这些会在网页完全加载之后显示,因为在网页加载完成之前,宽度可能不能够正确的获取到。同时也要注意到,如果是异步加载,这并不影响宽度(最多高度会受影响,因为宽度总是在CSS文件中做了完全的定义,除非在网页中你用了100%宽度。)。

Below is the code of the Activity Main.java:
下面的代码是Activity的代码:
Main.java

01 package com.pimmos.android.samples.webviewcontentwidth;
02 import android.app.Activity;
03 import android.os.Bundle;
04 import android.util.Log;
05 import android.webkit.WebView;
06 import android.webkit.WebViewClient;
07 import android.widget.Toast;
08 public class Main extends Activity {
09 private final static String LOG_TAG = "WebViewContentWidth";
10 private final Activity activity = this;
11 private static int webviewContentWidth = 0;
12 private static WebView webview;
13
14 /** Called when the activity is first created. */
15 @Override
16 public void onCreate(Bundle savedInstanceState) {
17 super.onCreate(savedInstanceState);
18 setContentView(R.layout.main);
19 webview = (WebView) findViewById(R.id.webview);
20 webview.getSettings().setJavaScriptEnabled(true);
21 webview.setSaveEnabled(true);
22 webview.addJavascriptInterface(new JavaScriptInterface(), "HTMLOUT");
23 webview.setWebViewClient(new WebViewClient() {
24 @Override
25 public void onPageFinished(WebView view, String url) {
26 webview.loadUrl("javascript:window.HTMLOUT.getContentWidth(document.getElementsByTagName(’html’)[0].scrollWidth);");
27 }//www.sctarena.com
28 });
29 webview.loadUrl("http://www.pimmos.com/");
30 }
31
32 class JavaScriptInterface {
33 public void getContentWidth(String value) {
34 if (value != null) {
35 webviewContentWidth = Integer.parseInt(value);
36 Log.d(LOG_TAG, "Result from javascript: " + webviewContentWidth);
37 Toast.makeText( activity,
38 "ContentWidth of webpage is: " +
39 webviewContentWidth +
40 "px", Toast.LENGTH_SHORT).show();
41 }
42 }
43 }
44 }

Below is the XML layout used with the Activity wich only contains a simple WebView:
下面是Activity的Layout,主要就是一个简单的WebView:

01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout
03 xmlns:android="http://schemas.android.com/apk/res/android"
04 android:orientation="vertical"
05 android:layout_width="fill_parent"
06 android:layout_height="fill_parent">
07
08 <WebView android:id="@+id/webview"
09 android:layout_width="fill_parent"
10 android:layout_height="fill_parent" />
11 </LinearLayout>

AndroidManifest.xml layout:
AndroidManifest.xml代码:

01 <?xml version="1.0" encoding="utf-8"?>
02 <manifest
03 xmlns:android="http://schemas.android.com/apk/res/android"
04 package="com.pimmos.android.samples.webviewcontentwidth"
05 android:versionCode="1" android:versionName="1.0">
06 <application android:icon="@drawable/icon"
07 android:label="@string/app_name">
08 <activity android:name=".Main"
09 android:label="@string/app_name">
10 <intent-filter>
11 <action android:name="android.intent.action.MAIN" />
12 <category
13 android:name="android.intent.category.LAUNCHER" />
14 </intent-filter>
15 </activity>
16 </application>
17 <uses-sdk android:minSdkVersion="7" />
18 <uses-permission android:name="android.permission.INTERNET" />
19 </manifest>

④ 如何在html中获得android手机中浏览器的屏幕的宽度

在html中获得android手机中浏览器的屏幕宽度的方法:
1、在网页的<head>中增加以上这句话,可以让网页的宽度自动适应手机屏幕的宽度:

[html] view plain
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="format-detection" content="telephone=no" />
第一行:
width=device-width :表示宽度是设备屏幕的宽度
initial-scale=1.0:表示初始的缩放比例
minimum-scale=0.5:表示最小的缩放比例
maximum-scale=2.0:表示最大的缩放比例
user-scalable=yes:表示用户是否可以调整缩放比例
第二行:
设定iphone端页面全屏。
第三行:
取消数字被识别为电话号码。
2、如果是想要一打开网页,则自动以原始比例显示,并且不允许用户修改的话,则是:

[html] view plain
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
3、这样可以把一些页头横幅等的图片的宽度都设置成style="width:100%",整个页面在设备上看起来就是全屏的了。

⑤ android webview默认屏幕为中像素密度怎么修改

Android中Webview加载的页面居中显示为中等像素密度的方法如下:

第一种方法:

WebSettings settings = webView.getSettings();
settings.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
LayoutAlgorithm是一个枚举用来控制页面的布局,有三个类型:

1.NARROW_COLUMNS:可能的话使所有列的宽度不超过屏幕宽度

2.NORMAL:正常显示不做任何渲染

3.SINGLE_COLUMN:把所有内容放大webview等宽的一列中

用SINGLE_COLUMN类型可以设置页面居中显示,页面可以放大缩小

第二种方法:

//设置加载进来的页面自适应手机屏幕
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
第一个方法设置webview推荐使用的窗口,设置为true。第二个方法是设置webview加载的页面的模式,也设置为true。这方法可以让你的页面适应手机屏幕的分辨率,完整的显示在屏幕上,可以放大缩小。

第三种方法:(主要用于平板,针对特定屏幕代码调整分辨率)

DisplayMetricsmetrics=newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
intmDensity=metrics.densityDpi;

if(mDensity==120){
settings.setDefaultZoom(ZoomDensity.CLOSE);
}elseif(mDensity==160){
settings.setDefaultZoom(ZoomDensity.MEDIUM);
}elseif(mDensity==240){
settings.setDefaultZoom(ZoomDensity.FAR);
}

Android中的webview其实是一个浏览器,对js进行解析以便于在智能机上面很好的显示。

⑥ android webview设置android:layout_width="match_parent" 不起作用

webView控件的父控件宽度是什么?如果父控件只有图上那么宽,那webView设置match_parent也只有父控件那么宽

⑦ android webview 怎么放大缩小

Android:WebView如何设定支持缩放:需要对WebView和WebSettings做一下设定

webview.setVerticalScrollbarOverlay(true); //指定的垂直滚动条有叠加样式

WebSettings settings = webview.getSettings();
settings.setUseWideViewPort(true);//设定支持viewport
settings.setLoadWithOverviewMode(true);
settings.setBuiltInZoomControls(true);
settings.setSupportZoom(true);//设定支持缩放

html界面meta标签
<metaname="viewport"content="height= [pixel_value| "device-height"] ,width= [pixel_value| "device-width"] ,initial-scale=float_value,//初始缩放minimum-scale=float_value,//最小maximum-scale=float_value,//最大user-scalable= ["yes" | "no"]//是否允许用户对页面缩放 "/>

例如:<meta name="viewport" content="width=device-width,user-scalable=yes initial-scale=1.0, maximum-scale=2.0">-->设定支持缩放,最大两倍缩放

阅读全文

与androidwebview宽度相关的资料

热点内容
穿越古代猎艳 浏览:804
python语言参考手册 浏览:824
买药上门app哪个靠谱 浏览:901
电影鬼片大全免费观看 浏览:259
三个外国妹子上山碰到三个鬼电影 浏览:139
铁雨3迅雷下载 在线播放 浏览:68
python库文件下载 浏览:131
兔老大电影 浏览:210
单片机实验键盘和数码 浏览:546
免费投屏电影网 浏览:880
甘肃酒泉发票服务器地址 浏览:357
程序员专用诗集 浏览:209
微信租车系统源码 浏览:984
中国抗日狙击手电影 浏览:420
千王之王2000百度网盘资源 浏览:515
phpsocketepoll 浏览:726
小孩和熊的电影 浏览:241
python写网页界面的框架 浏览:6
当通过ssh远程连接弹性云服务器时 浏览:655