Detectar la parte superior de un ScrollView
¿Cómo puedo detectar el TOP de un ScrollView? He implementado el código para detectar la parte inferior, pero no puedo imaginar el cálculo que determina cuándo se ha alcanzado la parte superior.
@Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { int startPosition = t; View view = (View) getChildAt(getChildCount() - 1); int diff = (view.getBottom() - (getHeight() + getScrollY())); if (diff == startPosition){ oListener.onTopReached(); } else { nListener.BottomNotReached(); } /* if (diff == 0 && mListener != null) { mListener.onBottomReached(); } else if (diff == getTop()) { oListener.onTopReached(); } else { nListener.BottomNotReached(); }*/ super.onScrollChanged(l, t, oldl, oldt); }
- Problema con webview y scrollview
- Uso de ImageView para una vista panorámica
- ¿Cómo puedo hacer que mi cuadro de diálogo de Android sea de pantalla completa?
- Habilitar desplazamiento dentro de EditText que está en ScrollView
- ViewPager en un Layout detrás de un ScrollView sin escuchar gestos
- Llame a removeView () en el padre del niño primero
- ScrollView setOverScrollMode reemplazo en API <9
- Cómo cambiar el color de la actual desplazamiento en ScrollView Android?
- ¿Cómo aumentar la altura de ScrollView en Android?
- Animación de rotación de Android con ScrollView
- Barra de desplazamiento a ViewGroup personalizado
- ScrollView no se desplaza a la parte inferior
- Cómo obtener ArrayIndex fuera de límites Excepción al agregar nuevos elementos a la lista mientras se desplaza
Como sugiere Marteinn :
@Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { if(view.getTop()==t){ // reaches the top end } View view = (View) getChildAt(getChildCount()-1); int diff = (view.getBottom()-(getHeight()+getScrollY()+view.getTop()));// Calculate the scrolldiff if( diff <= 0 ){ // if diff is zero, then the bottom has been reached Log.d(ScrollTest.LOG_TAG, "MyScrollView: Bottom has been reached" ); } super.onScrollChanged(l, t, oldl, oldt); }
- Múltiples instancias de MediaCodec
- Cómo cambiar la barra de título de la ventana de personalización y su icono para múltiples actividades