我仍在尝试创建一个模仿技术手册的活动。在上一个问题中,有人建议我可以在我的Activity中使用WebView,然后简单地创建并调用一个实际的网页/ html文档(这将有我的类似手工的技术说明)。这听起来像我想做的......
我创建了一个名为test.htm的简单网页,并将其放在我的RAW文件夹中,然后尝试在我的Activity中实现下面的代码。我的问题是:如何设置我的XML文件以使用WebView?我甚至需要一个XML文件吗?线条WebView ....取代了SetContentView吗?有人可以帮我澄清一下如何在我的Activity中使用WebView吗?
公共类Activity5扩展了Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView manual=new WebView(null);
manual.loadData(Utilities.getData(this, R.raw.test),"text/html", "utf-8");
..附加代码......
但是现在只是想了解WebView如何在Activity的上下文中工作,以及与所需的任何XML视图相关。
谢谢!
答案 0 :(得分:1)
如何设置我的XML文件以使用WebView?
只需创建一个包含WebView
的普通布局文件即可。从布局角度来看,WebView
与ListView
没有显着差异。
我甚至需要一个XML文件吗?
如果整个活动只是WebView
,您可以在Java代码中创建WebView
并将其传递给setContentView()
。不过,请将Activity
作为参数传递给WebView
构造函数,而不是null
。
有人可以帮我澄清一下如何在我的Activity中使用WebView吗?
我建议您将HTML放在assets/test.html
中,并将file:///android_asset/test.html
与loadUrl()
一起使用,而不是现在正在做的事情。
答案 1 :(得分:0)
这适用于资产中的文件“help / index.html”, 其他资产文件的相对链接按预期工作。
我添加了后退按钮功能:
public class WebHelp extends Activity {
WebView wv = null ;
TextView txtvTitle ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.help_layout);
wv = (WebView) findViewById(R.id.help_webview) ;
wv.getSettings().setBuiltInZoomControls(true) ; // enable pinch-to-zoom
wv.setWebViewClient(wvClient) ;
txtvTitle = (TextView) findViewById(R.id.help_title) ;
// ''/android_asset'' is a special prefix for asset file Url's
String url = "file:///android_asset/help/index.html" ;
wv.loadUrl(url) ;
}
public void onBackPressed() {
if (wv.canGoBack()) {
wv.goBack() ;
}
else {
super.onBackPressed() ;
}
}
WebViewClient wvClient = new WebViewClient() {
@Override
public void onPageFinished(WebView mywv, String url) {
// set web page title to the R.id.help_title widget
String title = mywv.getTitle() ;
if (title != null) {
txtvTitle.setText( title) ;
}
else txtvTitle.setText("untitled") ;
}
}
}
使用带有
的help_layout.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/help_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
/>
<WebView
android:id="@+id/help_webview"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
/>
</LinearLayout>