對于一些手機,像htc,當自定義camera時,調用camera.parameters的parameters.setpreviewsize(width,height)方法時,如果width和height為奇數情況下,則會出現黑屏現象,解決辦法可參考sdk提供的apidemos中關于camera的例子:
list<size> sizes =parameters.getsupportedpreviewsizes();
size optimalsize = getoptimalpreviewsize(sizes, w,h);
parameters.setpreviewsize(optimalsize.width, optimalsize.height);
同時,在htc手機中,設定parameters.setpicturesize(width,height)屬性,也會導緻黑屏,而在三星手機上則沒有問題。還有如果設定setpreviewsize屬性的寬高錯誤的話,拍出的照片也會存在失真等bug,是以遇到适配問題時,最好的辦法就是不設定previewsize和picturesize屬性。
getoptimalpreviewsize方法