2013-06-04 9 views
8

enter image description here Voglio fare una vista (un pulsante in realtà) che si trova all'interno di una scrollview, ma quando l'utente scatta verso il basso e il pulsante sta salendo, si sposta solo fino a raggiunge la parte superiore dello schermo visibile e quindi rimane come un'intestazione fissa fino a quando l'utente non si solleva di nuovo e poi ritorna alla sua posizione originale.Aggiungi il pulsante Fisso all'interno di scrollview che è visibile anche durante lo scorrimento

Ho dato gli schermi per una migliore comprensione.

enter image description here

+0

Sono quasi sicuro che Button non sia realmente all'interno di ScrollView. ScrollView è probabilmente in RelativeLayout e il pulsante deve essere nello stesso RelativeLayout con AlignParentTop impostato su true. –

risposta

6

Un modo in cui ho risolto questo è copiando la stessa vista al di fuori della scrollview e mantenendola nascosta. Solo per renderlo visibile quando il vecchio pulsante è di nuovo visibile.

@Override 
public void onScrollChanged(ObservableScrollView scrollView, int x, int y, 
     int oldx, int oldy) { 
    Rect scrollBounds = new Rect(); 
    scrollView.getHitRect(scrollBounds); 
    if (mPriceBtn.getLocalVisibleRect(scrollBounds)) { 
     // View is within the visible window 

     mPriceHiddenBtn.setVisibility(View.GONE); 
    } else { 
     // View is not within the visible window 

     //mPriceBtn.setY(y); 

     mPriceHiddenBtn.setVisibility(View.VISIBLE); 
    } 



} 
0

Partenza this tutorial. Si tratta di un ActionBar con un comportamento simile, realizzato da Google degli sviluppatori Android di Google. Immagino che tu possa trovare la maggior parte di ciò che ti serve.

Problemi correlati