2 回答

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
TextView
對(duì) css 的了解很差,但它不是一個(gè)顯示樣式化網(wǎng)站內(nèi)容的工具,因此對(duì)于簡(jiǎn)單的 html 文本來(lái)說(shuō)已經(jīng)足夠了。當(dāng)談到 時(shí)WebView
,顯示復(fù)雜的 html、css、javascript 內(nèi)容是一個(gè)好主意。如果需要,您可以使用。當(dāng)然它沒(méi)有那么快TextView
,但是有一些性能改進(jìn),如下:
// In AndroidManifest
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
...
>
<activity android:name=".activity.MainActivity"
android:hardwareAccelerated="true">
...
// In onCreate method from Activity class
WebView webView = (WebView) findViewById(R.id.webViewId);
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDefaultTextEncodingName("utf-8");
settings.setSupportZoom(true);
settings.setBuiltInZoomControls(false);
settings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
settings.setRenderPriority(WebSettings.RenderPriority.HIGH);
settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
settings.setLoadWithOverviewMode(true);
settings.setDomStorageEnabled(true);
this.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
this.setScrollbarFadingEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
this.setLayerType(View.LAYER_TYPE_HARDWARE, null); // chromium, enable hardware acceleration
else
this.setLayerType(View.LAYER_TYPE_SOFTWARE, null); // older android version, disable hardware acceleration
// use this, for don't getting some errors.
webView.loadDataWithBaseURL(null, "HtmlString", "text/html; charset=UTF-8", "UTF-8", null);

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊
- 2 回答
- 0 關(guān)注
- 167 瀏覽
添加回答
舉報(bào)