2012-02-29 83 views
5

請讓我知道我是否完全用錯誤的方式去解決問題,但如果我解釋了這個問題,我希望有人能幫助我,或者指出我的方向是正確的。如何設置自定義表面視圖的大小

我需要一個可以移動的自定義視圖,我希望將這個視圖放在我的一個關於我的主要活動之一的relativeLayout上。我遵循了一個關於移動的教程(下面的鏈接),它創建了一個updateThread和一個擴展SurfaceView的類。 http://mobile.tutsplus.com/tutorials/android/android-sdk-achieving-movement/

這個工作,我可以把它放在我的應用程序。 問題出現在我想將其放在佈局中的其他活動中時。我設法將視圖放入,但是它隨後出現在全屏幕後面,位於其他項目的後面。我的部分問題是,這個大小取決於屏幕的大小等。相關的佈局使用了大量的圖像,Android會選擇正確大小的圖像。對於SurfaceView,我如何設置大小取決於手機?

現在,我的相對佈局正確顯示了自定義視圖需要去的圖像。圖像顯示正確的大小,只是我需要顯示的靜態版本。你知道我可以如何將自定義視圖移動到這個空間嗎?

如果你需要任何代碼,我可以發佈任何東西,我真的很苦惱這個。 即使您只是指出我的方向是正確的,還是讓我知道我是否不應該使用曲面視圖?該視圖只需要顯示一些圖像向下滑動屏幕,這是所有

很多非常非常感謝事先

回答

14

(主要佈局的該部分內)設置surfaceView的大小使用此方法:

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

這不會設置SurfaceView的大小。 setFixedSize(width,height)僅影響從SurfaceHolder生成的像素的縮放比例,如https://android-developers.googleblog.com/2013/09/using-hardware-scaler-for-performance.html所述。另請參閱fadden的答案http://stackoverflow.com/questions/38118219/what-is-the-use-of-calling-surfaceholder-setfixedsize – tomalf2 2016-12-21 02:05:57

相關問題