¿Cómo desplazarse al centro de HorizontalScrollView sólo cuando se inicia la actividad?
Tengo una actividad que muestra una vista horizontal con una vista horizontalmente larga.
Necesito que cuando comience la actividad, la vista de la horizontal debe desplazarse hacia el centro de la misma, y no hacia el comienzo.
- ScrollView no se desplaza
- ¿Cambiar la pestaña de desplazamiento / desplazamiento en combinación con ScrollView?
- Anulación de onTouchEvent que compite con ScrollView
- ¿Cómo desactivar y activar el desplazamiento en Android ScrollView?
- Correctamente desplazando un EditText a la vista cuando se enfoca
Estoy buscando en google y aquí y no puedo encontrar el camino ..
Esta es mi vista de desplazamiento horizontal:
HorizontalScrollView wvScroll = new HorizontalScrollView(this); wvScroll.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); iv.setImageBitmap(Util.getRemoteImage("http://mywebsite.com/90.gif")); iv.setScaleType(ScaleType.CENTER_CROP); wvScroll.addView(iv); mainLayout.addView(wvScroll);
Gracias
- Detectar la parte superior de un ScrollView
- Función de desplazamiento de listview dentro de la vista de desplazamiento
- Android ScrollView se desplaza a la parte superior después de llamar a setVisibility (View.VISIBLE) en la vista secundaria
- ¿Cómo hacer ScrollView con un RelativeLayout con varios diseños de niño llenar la pantalla?
- Android captura todos los eventos de movimiento y los envía a los niños
- Problema con webview y scrollview
- ListView dentro de ScrollView con DrawerLayout
- ¿Es posible ajustar el adaptador al diseño lineal?
Tratar:
wvScroll.scrollTo(offsetX, 0);
Puede haber un problema de temporización, donde el desplazamiento se establecerá antes de que se cree scrollView. En ese caso, use postDelayed()
con un runnable
que llama scrollTo
ADICIONAL:
Para usar postDelayed ():
private Handler mHandler = new Handler();
En onCreate hacer:
mHandler.postDelayed(new Runnable(){ public void run() { wvScroll.scrollTo(offsetX, 0); } }, 1000);
No estoy seguro pero probablemente usted necesita tener la altura y el ancho del niño. Smth así:
int centerX = wvScroll.getChildAt(0).getWidth()/2; int centerY = wvScroll.getChildAt(0).getHeight()/2; wvScroll.scrollTo(centerX, centerY);