Ho un WebView
e una visualizzazione personalizzata nativa che voglio aggiungere sotto il WebView
. Ho provato a racchiudere lo WebView
all'interno di uno ScrollView
, e mentre questo fa esattamente quello che voglio, le prestazioni di scorrimento sono veramente ridotte e se un utente lancia la scroll toccando lo schermo non ferma l'avventura come dovrebbe.Aggiungere la visualizzazione del piè di pagina nativa alla visualizzazione Web
L'altro approccio che stavo pensando era quello di gonfiare il WebView
in un involucro FrameLayout
con la mia vista piè di pagina in cima alla WebView
, quindi in qualche modo estendere l'altezza WebView
per accogliere la dimensione piè di pagina, spingere la vista piè di pagina alla fine del Altezza WebView
s e quindi monitorare lo scorrimento di WebView
per spostare il piè di pagina con esso.
Ho impostato la classe base, il mio problema è estendere il contenuto scorrevole in WebView
e quindi spingere il piè di pagina nella parte inferiore del contenuto di WebView
s; il problema principale è che WebView
non è la tipica vista di Android e il contenuto della pagina viene caricato in modo asincrono (e quindi la dimensione del contenuto cambia).
Come è possibile estendere il contenuto scorrevole di WebView
? E come posso impostare il piè di pagina nativo sotto il contenuto di WebView
?
EDIT:
Io in realtà non utilizzare XML, la vista è costruito nel codice in questo modo:
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);
}
}
potresti mostrare il tuo layout xml? – eduyayo
modificato il codice sopra con la mia classe (non c'è xml dato che è costruito nel codice) – AndroidNoob
forse si può considerare di creare il proprio gruppo di viste personalizzato il cui compito è quello di impaginare la vista web e il piè di pagina. Mi sento come se volessi un controllo esatto del modo in cui hai descritto, la soluzione migliore è fare il layout da solo. –