1. 程式人生 > >關於簡單自定義View自適應的辦法

關於簡單自定義View自適應的辦法

  最近要實現自定義的view,記錄下幾點問題:

  1.onDraw方法中,最後自定義的view只會顯示你實際使用的canvas的大小,這樣畫出來的圖形邊界會有被切割的感覺,所以我選擇 用透明的paint在外圍重新畫一個大一點的圖。(這個問題還有待解決,主要是onMesure還在看)

  2.對於出現的圖形,在720*1080的手機上顯示正常,當時到了1080*2000解析度出現問題,顯得很小,原因是這個canvas的繪圖是建立在px(畫素上面),所以我們為了更好的適應不同解析度的機型,我們需要獲取螢幕的寬度,然後設定一個基本的數值,根據螢幕的大小,進行比例的變換。比如說:我要在720的手機上畫360px的直線,就是要佔螢幕的一般,如果到了1080的螢幕那這就只能佔1/3了,所以簡單的做法,我們可以給他乘以1080/720(1.5)即可,換做小螢幕的手機,結果也是一樣。

順便記錄下 關於bitmap的相關方法。

載入bitmap的方式多種多樣,其中比較常用的就是通過bitmapfactory.decode······方法,這個方法可以將資料流和路徑中的檔案輸出為圖片。這種方法有些問題,那就是很佔記憶體,具體的解決辦法 還沒有細看 (貌似是分片的意思)

還有creatbitmap的方法建立,但是我覺得,這個方法用來伸縮圖片和裁剪更適宜。