Tôi có một số WebView
và chế độ xem tùy chỉnh gốc mà tôi muốn thêm bên dưới WebView
. Tôi đã cố gắng gói WebView
bên trong một ScrollView
, và trong khi đó không chính xác những gì tôi muốn, hiệu suất di chuyển thực sự là laggy và nếu một người dùng flings di chuyển khai thác màn hình không dừng fling như nó nên.Thêm chế độ xem chân trang gốc vào chế độ xem web
Cách tiếp cận khác mà tôi đã suy nghĩ là để thổi phồng các WebView
thành một wrapper FrameLayout
với quan điểm chân của tôi trên đầu trang của WebView
, sau đó bằng cách nào đó kéo dài chiều cao WebView
để chứa kích thước chân, đẩy cái nhìn chân để kết thúc Chiều cao WebView
s và sau đó theo dõi cuộn của WebView
để di chuyển chân trang theo nó.
Tôi đã thiết lập lớp cơ sở, sự cố của tôi đang mở rộng nội dung có thể cuộn trong WebView
và sau đó đẩy chân trang vào cuối nội dung của WebView
; vấn đề chính là WebView
không phải là chế độ xem Android thông thường của bạn và tải nội dung trang không đồng bộ (và do đó kích thước nội dung thay đổi).
Làm cách nào để mở rộng nội dung có thể cuộn của WebView
? Và làm cách nào tôi có thể đặt chân trang gốc bên dưới nội dung WebView
?
EDIT:
Tôi không thực sự sử dụng xml, quan điểm được xây dựng trong mã như vậy:
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);
}
}
bạn có thể hiển thị bố cục xml của mình không? – eduyayo
đã chỉnh sửa mã ở trên với lớp của tôi (không có xml khi được xây dựng trong mã) – AndroidNoob
có thể bạn có thể xem xét tạo nhóm chế độ xem tùy chỉnh của bạn có bố cục chế độ xem và chân trang web. Tôi cảm thấy như nếu bạn muốn kiểm soát chính xác cách bạn mô tả, đặt cược tốt nhất là tự mình làm bố cục. –