Ecco lo scenario concettualmente (esclusi linearlayouts)problemi di scorrimento con un controllo ListView all'interno di uno ScrollView
ScrollView
Button
Checkboxes
Spinner
ListView (full-size, non-scrolling)
AdMob advert
cioè un riquadro a scorrimento, che ha un'interfaccia utente di filtraggio in alto, seguita da risultati, ma l'annuncio deve sempre rimanere visibile e quando scorri verso il basso l'interfaccia utente del filtro deve scorrere lontano, lasciando il massimo spazio per i risultati.
Sono consapevole che ci sono problemi con un ListView all'interno di un ScrollView, anche se per me funziona bene in molti modi (sto fissando la lunghezza del ListView per impedirne il crollo). Quindi lo schermo scorre bene, l'annuncio rimane in fondo, e sembra buono.
Ma il problema che sto vedendo è, inspiegabilmente, quando si apre l'attività, il ScrollView è sceso un po ', quindi il ListView è nella parte superiore dello schermo. Presumo che questo è un comportamento di default, così mi sono messo a cercare di forzare la posizione di scorrimento del ScrollView verso l'alto, ma ho provato vari metodi, e vedo nessun effetto:
scrollview.scrollTo(0, 1000/-1000);
scrollview.smoothScrollBy(0, 1000/-1000);
scrollview.fullScroll(View.FOCUS_UP);
C'è un modo per forzare ScrollView per iniziare con la posizione di scorrimento in alto?
In caso contrario, come posso avere un annuncio che non scorre dal basso, ma un'interfaccia utente del filtro che scorre sempre dall'alto? Usare ListView sembra eccessivo, perché non ho bisogno di scorrere ma offre molti vantaggi, quindi sarebbe bello evitare di ricominciare da zero e di rendere tutto da solo.
Qualsiasi soluzione reale per questo problema? – Tony
Questa non è una buona pratica da fare, ma se si tenta di dare altezza a listview su runtime di quanto sia possibile. vedi sotto link: - http://stackoverflow.com/questions/3495890/how-can-i-put-a-listview-into-a-scrollview-without-it-collapsing/3495908#3495908 – duggu