通过单击按钮向我的布局添加Web视图没有问题,但是当我在创建主要活动时添加Web视图时,它什么也没做。我需要程序根据运行时存储的数据创建某些Web视图。当我把它放在onClick按钮中时,它确实让我完全相同的代码运行,但在main方法中它绝对没有任何效果。没有错误,没有任何错误。
tickerLinearLayout = (LinearLayout) findViewById(R.id.TickerLinearLayout);
currency = new WebView(this);
currency.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, btcUp.getMeasuredHeight()));
tickerLinearLayout.addView(currency);
currency.getSettings().setJavaScriptEnabled(true);
disableScroll(currency);
currency.loadUrl("file:///android_asset/btc.html");
答案 0 :(得分:0)
要在Activity中以编程方式创建Webview,首先必须将Webview添加到RelativeLayout中。我之所以选择RelativeLayout,是因为我的用例需要Webview有时不时位于父视图的不同位置。
public class CustomRelativeLayout extends RelativeLayout {
private WebView mWebView;
public CustomRelativeLayout(Context context) {
super(context);
mWebView = new WebView(context);
mWebView.setId(View.NO_ID);
mWebView.setScrollContainer(false);
mWebView.loadData("<html><body>TEST</body></html>", "text/html", "utf-8");
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
context.getResources().getDisplayMetrics().widthPixels, context.getResources().getDisplayMetrics().heightPixels);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
mWebView.setLayoutParams(params);
addView(mWebView);
}
public WebView getTheWebView() {
return mWebView;
}
}
您可以修改CustomRelativeLayout类以接受URL。
在MainActivity类中,您将必须添加一个新的CustomRelativeLayout实例并将其添加到contentView中,如下所示:
setContentView(new CustomRelativeLayout(this));
要调整Webview的大小,请在添加到Webview的LayoutParams的宽度和高度中进行调整。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
<width>, <height>);