Agregar una barra de desplazamiento al panel personalizado en Android

Bueno, estoy tratando de agregar un panel con una especie de mapa (una especie de matriz de imagen) pero el problema es que, dado que no tendrá el mismo diseño cada vez que se cree, no tengo ni idea de qué tan grande lo será; por lo tanto, quería agregar barras de desplazamiento para que el usuario pudiera navegar a través del panel, pero he probado diferentes combinaciones y aún no he encontrado una exitosa = (.

 LinearLayout platinumSeats = new LinearLayout(this);
        platinumSeats.setOrientation(LinearLayout.VERTICAL);
        platinumSeats.setBackgroundColor(Color.WHITE);
        ScrollView seatChart = new ScrollView(this);
        TextView seatsLeft = new TextView(this);
        seatsLeft.setText("Available seats");
        seatsLeft.setTextColor(Color.BLACK);

        container = new Panel(this);

        seatChart.addView(container, 200, 300);
        seatChart.setHorizontalScrollBarEnabled(true);
        seatChart.setVerticalScrollBarEnabled(true);

        platinumSeats.addView(seatChart);
        platinumSeats.addView(seatsLeft);        

        setContentView(platinumSeats);

También intenté agregar las características setXXXXXXScrollBarEnabled en mi constructor de Panel, pero aún así no tuve suerte. ¿Alguna pista?

Gracias =)

preguntado el 16 de mayo de 11 a las 17:05

1 Respuestas

¿Ha pensado en agregar su LinearLayout a un ScrollView? Veo que ya tiene un ScrollView, pero me doy cuenta de que lo que se le está agregando es 'contenedor' en realidad nunca se usa en ningún lado. Debería poder incrustar el LinearLayout completo en un ScrollView para obtener el efecto deseado.

Esto permitirá que las vistas de su hijo se desplacen cuando sean demasiado grandes para la pantalla. Si encajan en la pantalla, no debería notar ninguna diferencia.

contestado el 16 de mayo de 11 a las 21:05

Entonces, ¿debería hacer un diseño como Lineal> Scroll> Linear> Panel? Es solo que necesito agregar más elementos al diseño lineal principal. - Paulina D.

Es posible que pueda eliminar el primer Linear. Realmente depende de lo que intente hacer. Si desea desplazarse por todo, coloque ScrollView en el nivel superior. Si desea que una determinada sección se desplace, haga lo que sugirió en su comentario. - nicholas.hauschild

Bueno, puse el panel en lineal y luego ese lineal en la vista de desplazamiento, pero mi panel no se muestra a menos que establezca la medida en mi método onMeasure = S (pero aún así, no se puede ver ninguna barra de desplazamiento> _ <). - Paulina D.

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.