2012-02-29 11 views
5

Háganme saber si estoy haciendo esto de la manera totalmente incorrecta, pero si explico el problema espero que alguien me ayude con eso, o apúnteme en la dirección correcta.Cómo configurar el tamaño de la vista de superficie personalizada

Necesito una vista personalizada que pueda tener movimiento, deseo poner esta vista en una parte de mi Relato en una de mis actividades principales. Seguí un tutorial sobre movimiento (enlace a continuación) que creó un thread actualizado, y una clase que extiende SurfaceView. http://mobile.tutsplus.com/tutorials/android/android-sdk-achieving-movement/

Esto funciona, y puedo ponerlo en mi aplicación. El problema surge cuando quiero poner eso dentro de mi diseño en una actividad diferente. Me las arreglé para poner la vista, pero luego aparece en pantalla completa, detrás de otros elementos. Parte de mi problema es que el tamaño de esto depende del tamaño de la pantalla, etc. La relativelayout usa muchas imágenes, donde Android seleccionará la imagen de tamaño correcto que se necesita. Para SurfaceView, ¿cómo configuro el tamaño para que dependa del teléfono?

En este momento, tengo el diseño relativo que muestra correctamente las imágenes donde debe ir la vista personalizada. Las imágenes muestran el tamaño correcto y son solo una versión estática de lo que necesito mostrar. ¿Sabes cómo puedo mover mi vista personalizada a este espacio?

Si necesita un código, puedo publicar algo, realmente estoy luchando con este. Incluso si puede simplemente señalarme en la dirección correcta, o hágamelo saber si no debería usar la vista de superficie para esto? La vista sólo tiene que mostrar algunas imágenes que se deslizan por la pantalla, eso es todo (dentro de esa sección de la disposición principal)

mucho mucho mucho gracias de antemano

Respuesta

14

Para establecer el tamaño de la SurfaceView utilizar este método:

surfaceView.getHolder().setFixedSize(width, height) 
+0

Esto no configura el tamaño de SurfaceView. setFixedSize (ancho, alto) solo tiene impacto en la escala de los píxeles generados desde SurfaceHolder como se explica aquí https://android-developers.googleblog.com/2013/09/using-hardware-scaler-for-performance.html. Vea también la respuesta de fadden en http://stackoverflow.com/questions/38118219/what-is-the-use-of-calling-surfaceholder-setfixedsize – tomalf2

Cuestiones relacionadas