導航:首頁 > 操作系統 > androidwebview文字

androidwebview文字

發布時間:2022-07-12 07:47:24

android webview 如何實現選擇文本功能

你可以試試這段代碼:[mw_shl_code=java,true] KeyEvent.DispatcherState state = new KeyEvent.DispatcherState(); KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT, 0); shiftPressEvent.dispatch(mWebView, state, null);[/mw_shl_code]這個是復制文本的,你要在長按事件裡面去處理

Ⅱ 如何解決Android WebView出現的亂碼問題

使用webView載入網頁,主要有三種方法:
1、webView.loadUrl();
直接顯示網頁內容(單獨顯示網路圖片),一般不會出現亂碼。
2、webView.loadData(data, "text/html", "UTF-8");
loadData主要被設計用來裝載URI格式的數據,它不能通過網路來載入內容。網上流傳的webview載入中文出現亂碼,多數是使用此方法。使用過程中主要有兩個問題:
(1)loadData不能載入圖片內容,如果想載入圖片內容或者獲得更強大的Web支持建議使用更強大的loadDataWithBaseURL.
(2) 許多實用loadData方法的朋友都遇到顯示亂碼的問題,那是因為編碼器設置錯誤導致的。我們知道String類型的數據主要是unicode編碼,而WebView一般為了節省資源使用的是UTF-8編碼,所以我們在loadData的時候要告訴方法怎樣轉碼。即要告訴它要將unicode編碼的內容轉成UTF-8編碼的內容。有些朋友雖然在loadData的時候設置了編碼方式,但是還是顯示亂碼,這是因為還需要為WebView的text編碼指定編碼方式。舉例如下:
WebView wv = (WebView)findViewById(R.id.webview) ;
wv.getSettings().setDefaultTextEncodingName(「UTF -8」) ;
wv.loadData(content, 「text/html」, 「UTF-8」) ;
注意為gb2312或gbk
(3).網頁說明編碼格式
<meta http-equiv="Content-Type" content="text/html;charset=gb2312">
以上兩種方法是網上給的比較好的方法,但是我都試了下都沒有解決我的亂碼問題。
原來我是用LoadData方法來解析html的,但是據說這是官方的一個BUG,不能用來解析中文。所以繞其道而行之,採用loadDataWithBaseURL的方法,其中codeingType設置為utf-8就OK了。
3、loadDataWithBaseURL
如果單純顯示文字的話可以寫webView.loadDataWithBaseURL(null, string, "text/html", "utf-8", null);
如果要顯示圖片可以寫webView.loadDataWithBaseURL(baseUrl, string, "text/html", "utf-8", null);
其中baseUrl為你存儲照片的路徑,比如:
String baseUrl="sdcard/images/photo/";
這個方法卻能很好解決亂碼問題,遇到這個問題的朋友不妨一時。

Ⅲ android WebView 里如何獲得選中的文本,如何可以自己設置哪些文本被選中

WebView.setSelection()

Ⅳ 關於 android WebView字體的放大縮小

不放圖片吶,就可以改字體。

Ⅳ android webview-android的webview怎麼修改網頁字體顏色和背景

webView是一個類似於瀏覽器的組件,本身不能修改網頁字體和背景,你需要在html頁面裡面設置字體和背景,用css控制一下就可以了!

Ⅵ android 如何設置webView里文字的顏色

android 設置webView里文字的顏色可以通過以下代碼實現:
private String initContent(String content, boolean night, boolean flag) {
try {
InputStream inputStream = getResources().getAssets().open(
"discover.html");
BufferedReader reader = new BufferedReader(new InputStreamReader(
inputStream), 16 * 1024);
StringBuilder sBuilder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sBuilder.append(line + "\n");
}
String modelHtml = sBuilder.toString();
inputStream.close();
reader.close();

String contentNew = modelHtml.replace(
"<--@#$%discoverContent@#$%-->", content);
if (night) {
contentNew = contentNew.replace("<--@#$%colorfontsize2@#$%-->",
"color:#8f8f8f ;");
} else {
contentNew = contentNew.replace("<--@#$%colorfontsize2@#$%-->",
"color:#333333 ;");
}
if (flag) {
contentNew = contentNew.replace(
"<--@#$%colorbackground@#$%-->", "background:#B4CDE6");
} else {
contentNew = contentNew.replace(
"<--@#$%colorbackground@#$%-->", "background:#F9BADA");
}
return contentNew;

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

Ⅶ Android開發中能不能用webview直接載入html文本

Android開發中可以用webview直接載入html文本,具體方法為:
1、首先在layout文件夾下的xml中 加入Java代碼:
<WebView
android:id="@+id/wv1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Java代碼
public class jsWebDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wView = (WebView)findViewById(R.id.wv1);

ProxyBridge pBridge = new ProxyBridge();
wView.addJavascriptInterface(pBridge, "AliansBridge");

WebSettings wSet = wView.getSettings();
wSet.setJavaScriptEnabled(true);

wView.loadUrl("file:///android_asset/index.html");

}

public class ProxyBridge {
public int one () {
return 1;
}
}

}

public class jsWebDemo extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView wView = (WebView)findViewById(R.id.wv1);

ProxyBridge pBridge = new ProxyBridge();
wView.addJavascriptInterface(pBridge, "AliansBridge");

WebSettings wSet = wView.getSettings();
wSet.setJavaScriptEnabled(true);

wView.loadUrl("file:///android_asset/index.html");

}

public class ProxyBridge {
public int one () {
return 1;
}
}

}
解釋:
wView.addJavascriptInterface(pBridge, "AliansBridge");
上句代碼是實例化一個方法為的是在html中的js中調用,第二個參數則是 實例化方法的別名,如果要使用這個pBridge,則在js中使用的名字就是AliansBridge。
WebSettings wSet = wView.getSettings();
wSet.setJavaScriptEnabled(true);
上面兩句就是允許使用js的意思
wView.loadUrl(file:///android_asset/index.html);
就是在asset下放入一個index.html文件,這個文件包含js的代碼,注意路徑是「///」,這個android_asset不是文件夾的名字是系統自動生成的,其實就是asset文件夾的系統路徑。
index.html 內容如下:
Java代碼
<html><body>
<div id="output">Test page.</div>
<input type="submit" value="change to 1" onclick="document.getElementById('output').innerHTML = AliansBridge.one()" />
</body></html>

<html><body>
<div id="output">Test page.</div>
<input type="submit" value="change to 1" onclick="document.getElementById('output').innerHTML = AliansBridge.one()" />
</body></html>
2.上面是javascript調用android的方法,那麼android也可以調用js的方法:
Java代碼
public class webJsDemo extends Activity {
/** Called when the activity is first created. */
private WebView mWebView;
private Handler mHandler = new Handler();

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.wv1);

WebSettings webSettings = mWebView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(false);

mWebView.setWebChromeClient(new MyWebChromeClient());

mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");

mWebView.loadUrl("file:///android_asset/demo.html");
}

final class DemoJavaScriptInterface {

DemoJavaScriptInterface() {
}

/**
* This is not called on the UI thread. Post a runnable to invoke
* loadUrl on the UI thread.
*/
public void clickOnAndroid() {

mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:wave()");
}
});

}
}

/**
* Provides a hook for calling "alert" from javascript. Useful for
* debugging your javascript.
*/
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
// TODO Auto-generated method stub
Log.d("aa", message);
Log.d("url", url);
Log.d("result", ""+result);

result.confirm();
return super.onJsAlert(view, url, message, result);

}

}

public class webJsDemo extends Activity {
/** Called when the activity is first created. */
private WebView mWebView;
private Handler mHandler = new Handler();

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.wv1);

WebSettings webSettings = mWebView.getSettings();
webSettings.setSavePassword(false);
webSettings.setSaveFormData(false);
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(false);

mWebView.setWebChromeClient(new MyWebChromeClient());

mWebView.addJavascriptInterface(new DemoJavaScriptInterface(), "demo");

mWebView.loadUrl("file:///android_asset/demo.html");
}

final class DemoJavaScriptInterface {

DemoJavaScriptInterface() {
}

/**
* This is not called on the UI thread. Post a runnable to invoke
* loadUrl on the UI thread.
*/
public void clickOnAndroid() {

mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:wave()");
}
});

}
}

/**
* Provides a hook for calling "alert" from javascript. Useful for
* debugging your javascript.
*/
final class MyWebChromeClient extends WebChromeClient {
@Override
public boolean onJsAlert(WebView view, String url, String message,
JsResult result) {
// TODO Auto-generated method stub
Log.d("aa", message);
Log.d("url", url);
Log.d("result", ""+result);

result.confirm();
return super.onJsAlert(view, url, message, result);

}
其中上面的代碼 也提到了怎麼在android中調試js mWebView.setWebChromeClient(new MyWebChromeClient());
上面的代碼來源於別人的實例。
3、還要注意在這個實例中demo.html和兩個image應該在同一個文件夾asset下

Ⅷ android webview載入網頁 網頁中文本框輸入的問題

我也遇到這種情況過,比如你輸入QQ帳號密碼時也是彈出在你輸入法上面,這是一個優化把 有利有弊,就按他說的改下把androidManifest.xml文件中設置你webview所在的Activity屬性android:windowSoftInputMode="adjustPan" 就可以了,如果不行,把adjustPan換成adjustResize

Ⅸ webview android可以編輯文本嗎

webview是用來顯示網頁的,所以不能編輯文本。
但是可以用html代碼實現編輯文本。

Ⅹ android webview縮放的時候怎麼讓文字不自動換行

用html標簽在文字外邊套一個div並且強制div的寬度,如果滾輪隱藏了就設置一下顯示橫向滾輪。

閱讀全文

與androidwebview文字相關的資料

熱點內容
php中括弧定義數組 瀏覽:600
php列印堆棧 瀏覽:514
華為adb命令行刷機 瀏覽:963
人像攝影pdf 瀏覽:755
解壓文件密碼怎樣重新設置手機 瀏覽:999
高考指南pdf 瀏覽:693
爬蟲python數據存儲 瀏覽:240
u盤怎麼取消加密 瀏覽:429
567除以98的簡便演算法 瀏覽:340
pdf手機如何解壓 瀏覽:15
python描述器 瀏覽:60
戰地聯盟3解壓密碼 瀏覽:805
s型命令 瀏覽:25
php年薪5年 瀏覽:71
如何上網上設個人加密賬戶 瀏覽:44
linux打開ssh服務 瀏覽:78
微信位置可以加密嗎 瀏覽:470
演算法蠻力法 瀏覽:438
隨機排練命令 瀏覽:147
python多進程並發 瀏覽:41