2012-07-31 63 views
0

我需要調整VideoView的大小,但它必須大於屏幕。我發現可以通過覆蓋VideoView的onMeasure,像這樣:調整VideoView的大小

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 
     setMeasuredDimension(twotimesscreenwidth, twotimesscreenheight); 
    } 

在大多數情況下,這可以很好地工作。我在一系列設備(Nexus One,HTC Wildfire,HTC Sensation,Samsung Galaxy S2,Galaxy Gio,Galaxy Tab 10.1,Motorola Xoom)上進行了測試,沒有發現任何問題。但是在HTC Desire HD或Nexus S上測試時,我發現它並沒有像它那樣調整大小。在Desire HD上,它調整到屏幕寬度,比屏幕高度多一點,而在Nexus S上它只是全屏。

有人知道爲什麼會發生這種情況,更重要的是,我該如何解決這個問題?我已經發現了幾個關於這個的問題,但都沒有任何解決方案:(

+0

你能爲此提供完整的源代碼....我將是一個很大的幫助me – 2018-01-22 13:10:53

回答

0

你可以嘗試設置佈局參數display.getWidth()* 2或任何你想指定的乘數,並相似地設置其高度顯示。的getHeight() 希望它可以幫助

順便說一句讓我知道如果你是玩實況視頻流。礦山卡住有時

+0

視圖的寬度和高度都很好,VideoView位於RelativeLayout內部,它的寬度和高度是屏幕大小的2倍,而視頻的大小是match_parent。我設置了背景圖片,我看到視圖的尺寸是正確的。只有視頻不會調整大小。 另外我正在使用一個下載的視頻文件,所以沒有直播,對不起 – Arne517 2012-07-31 11:46:03

相關問題