2012-02-29 13 views
5

Per favore fatemi sapere se sto andando in questo modo totalmente sbagliato, ma se spiego il problema spero che qualcuno possa aiutarmi con esso, o indicarmi la giusta direzione.Come impostare la dimensione della vista utente personalizzata

Ho bisogno di una vista personalizzata che può avere movimento, desidero mettere questa vista su parte della mia relazione relativa su una delle mie attività principali. Ho seguito un tutorial su movimento (link sotto) che ha creato un updateThread e una classe che estende SurfaceView. http://mobile.tutsplus.com/tutorials/android/android-sdk-achieving-movement/

Questo funziona e posso inserirlo nella mia applicazione. Il problema nasce quando voglio inserirli all'interno del mio layout su un'attività diversa. Sono riuscito a mettere la vista, ma poi appare a schermo intero, dietro altri elementi. Parte del mio problema è che la dimensione di questo dipende dalla dimensione dello schermo ecc. La relativelayout utilizza molte immagini, in cui Android sceglierà l'immagine di dimensioni corrette necessaria. Per SurfaceView, come posso impostare la dimensione in modo che dipenda dal telefono?

In questo momento, ho il layout relativo che mostra correttamente con le immagini in cui la vista personalizzata deve andare. Le immagini mostrano le dimensioni corrette e sono solo una versione statica di ciò che devo mostrare. Sai come posso spostare la mia vista personalizzata, in questo spazio?

Se hai bisogno di un codice, posso postare qualsiasi cosa, sono davvero alle prese con questo. Anche se puoi semplicemente indicarmi la direzione corretta o farmi sapere se non dovrei usare la vista di superficie per questo? La vista deve solo mostrare alcune immagini scorrevole lungo lo schermo, che è tutto (entro quella sezione del layout principale)

molto molto molto grazie in anticipo

risposta

14

Per impostare la dimensione del SurfaceView utilizzare questo metodo:

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

Questo non imposta la dimensione di SurfaceView. setFixedSize (larghezza, altezza) ha effetto solo sul ridimensionamento dei pixel generati da SurfaceHolder come spiegato qui https://android-developers.googleblog.com/2013/09/using-hardware-scaler-for-performance.html. Vedi anche la risposta di fadden in http://stackoverflow.com/questions/38118219/what-is-the-use-of-calling-surfaceholder-setfixedsize – tomalf2

Problemi correlati