我有一个WebView
和我想在下面添加的本机自定义视图WebView
。我试过包裹WebView
里面一个ScrollView
,虽然这正是我想要的,但滚动性能确实很滞后,如果用户点击屏幕滚动滚动条并不会像应有的那样停止滚动。
我想到的另一种方法是膨胀WebView
放入包装纸中FrameLayout
我的页脚视图位于顶部WebView
,然后以某种方式扩展WebView
高度以适应页脚大小,将页脚视图推到底部WebView
s 高度,然后监视滚动WebView
来移动页脚。
我已经设置了基类,我的问题是扩展中的可滚动内容WebView
,然后将页脚推到底部WebView
内容;主要问题是WebView
不是典型的 android 视图,并且页面内容异步加载(因此内容大小会发生变化)。
如何扩展可滚动内容WebView
?我怎样才能将本机页脚设置在下面WebView
内容?
EDIT:
我实际上并没有使用 xml,视图是用如下代码构建的:
public class WebViewWithFooter extends FrameLayout {
private ObservableWebView mWebView;//webview with scroll methods overridden for access
private FrameLayout mFooterContainer;
public WebViewWithFooter(Context context) {
super(context);
init();
}
public WebViewWithFooter(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public WebViewWithFooter(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public WebViewWithFooter(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
init();
}
private void init() {
FrameLayout.LayoutParams footerParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
FrameLayout.LayoutParams webviewParams = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
mWebView = new ObservableWebView(getContext());
mFooterContainer = new FrameLayout(getContext());
addView(mWebView, webviewParams);
addView(mFooterContainer, footerParams);
}
}