为 Android 中的 webView 定义样式 HTML
Define style to HTML for webView in Android
我想使用以下方法用 HTML 填充 webView:
String str = "<html>" +
"<body>" +
"<style> \n" +
"h3 {\"font-family:helvetica,arial,sans-serif;font-size:24px;line-height:1.3;\"} \n" +
"p {\"font-family:helvetica,arial,sans-serif;font-size:12px;line-height:1.3;\"} \n" +
"</style> \n" +
"<h3> Open-Source licenses</h3>\n" +
"<p> A huge thanks from all of us at to the great people behind the great programs listed below.</p>\n" +
"<ul>\n" +
"<li>Asynchronous Http Client for Android</li>\n" +
"<li>Glide</li>\n" +
"<li>Google Play Service</li>\n" +
"<li>Gson</li>\n" +
"<li>Picasso</li>\n" +
"</ul>\n" +
"<hr>" +
"<h3>Asynchronous Http Client for Android</h3>\n" +
"<p><a href=\"https://github.com/android-async-http/android-async-http\">https://github.com/android-async-http/android-async-http</a></p> \n" +
"<p>Unless required by applicable law or agreed to in writing, software<br>distributed under the License is distributed on an "AS IS" BASIS,<br>WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>See the License for the specific language governing permissions and<br>limitations under the License.</p>\n" +
"</body></html>";
wb_OpenSource.loadDataWithBaseURL( null, str, "text/html", "utf-8", null );
不过,风格好像没什么区别。
有什么方法可以让它工作而不是为每一行添加样式?
更新:
按照下面的建议,我创建了一个 .css 文件,如下所示:
#topHeader {
font-family:helvetica,arial,sans-serif;font-size:24px;line-height:1.3;
}
#regHeader {
font-family:helvetica,arial,sans-serif;font-size:20px;line-height:1.3;
}
#topText {
font-family:helvetica,arial,sans-serif;font-size:14px;line-height:1.3;
}
#regText {
font-family:helvetica,arial,sans-serif;font-size:12px;line-height:1.3;
}
#links {
font-family:helvetica,arial,sans-serif;font-size:16px;line-height:1.3;
}
并将我的 HTML 更改为:
"<body>" +
"<link rel=\"stylesheet\" href=\"cssStyles.css\"> \n" +
"<h3 id=\"topHeader\"> Open-Source licenses</h3>\n" +
"<p id=\"topText\"> A huge thanks from all of us at to the great people behind the great programs listed below</p>\n" +
"<ul>\n" +
"<li id=\"regText\"> Asynchronous Http Client for Android </li>\n" +
"<li id=\"regText\"> ExpandableTextView Android Arsenal </li>\n" +
和
wb_OpenSource.loadDataWithBaseURL( "file://android_asset/cssStyles.css", str, "text/html", "utf-8", null );
但是好像不行
谢谢
您可以创建一个单独的 .css
文件来设置元素的样式。将 .css 文件放在资产文件夹中,并将其包含在您的 html 代码中。
现在在网络视图中加载 HTML,如下所示:
webView.loadDataWithBaseURL("file:///android_asset", HTML_STRING, "text/html","utf-8",null);
我想使用以下方法用 HTML 填充 webView:
String str = "<html>" +
"<body>" +
"<style> \n" +
"h3 {\"font-family:helvetica,arial,sans-serif;font-size:24px;line-height:1.3;\"} \n" +
"p {\"font-family:helvetica,arial,sans-serif;font-size:12px;line-height:1.3;\"} \n" +
"</style> \n" +
"<h3> Open-Source licenses</h3>\n" +
"<p> A huge thanks from all of us at to the great people behind the great programs listed below.</p>\n" +
"<ul>\n" +
"<li>Asynchronous Http Client for Android</li>\n" +
"<li>Glide</li>\n" +
"<li>Google Play Service</li>\n" +
"<li>Gson</li>\n" +
"<li>Picasso</li>\n" +
"</ul>\n" +
"<hr>" +
"<h3>Asynchronous Http Client for Android</h3>\n" +
"<p><a href=\"https://github.com/android-async-http/android-async-http\">https://github.com/android-async-http/android-async-http</a></p> \n" +
"<p>Unless required by applicable law or agreed to in writing, software<br>distributed under the License is distributed on an "AS IS" BASIS,<br>WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br>See the License for the specific language governing permissions and<br>limitations under the License.</p>\n" +
"</body></html>";
wb_OpenSource.loadDataWithBaseURL( null, str, "text/html", "utf-8", null );
不过,风格好像没什么区别。
有什么方法可以让它工作而不是为每一行添加样式?
更新:
按照下面的建议,我创建了一个 .css 文件,如下所示:
#topHeader {
font-family:helvetica,arial,sans-serif;font-size:24px;line-height:1.3;
}
#regHeader {
font-family:helvetica,arial,sans-serif;font-size:20px;line-height:1.3;
}
#topText {
font-family:helvetica,arial,sans-serif;font-size:14px;line-height:1.3;
}
#regText {
font-family:helvetica,arial,sans-serif;font-size:12px;line-height:1.3;
}
#links {
font-family:helvetica,arial,sans-serif;font-size:16px;line-height:1.3;
}
并将我的 HTML 更改为:
"<body>" +
"<link rel=\"stylesheet\" href=\"cssStyles.css\"> \n" +
"<h3 id=\"topHeader\"> Open-Source licenses</h3>\n" +
"<p id=\"topText\"> A huge thanks from all of us at to the great people behind the great programs listed below</p>\n" +
"<ul>\n" +
"<li id=\"regText\"> Asynchronous Http Client for Android </li>\n" +
"<li id=\"regText\"> ExpandableTextView Android Arsenal </li>\n" +
和
wb_OpenSource.loadDataWithBaseURL( "file://android_asset/cssStyles.css", str, "text/html", "utf-8", null );
但是好像不行
谢谢
您可以创建一个单独的 .css
文件来设置元素的样式。将 .css 文件放在资产文件夹中,并将其包含在您的 html 代码中。
现在在网络视图中加载 HTML,如下所示:
webView.loadDataWithBaseURL("file:///android_asset", HTML_STRING, "text/html","utf-8",null);