最近做乙個專案,在初始化相機時需要設定預覽解析度 ,我們採取和手機解析度相近的比例,例如4:3,或者16:9.的手機,預覽解析度的話選擇接近這一比例的一組資料,**如下:
camera.parameters parameters = camera.getparameters();
listlist = parameters.getsupportedpreviewsizes();
camera.size size;
int length = list.size();
int previewwidth = 480;
int previewheight = 640;
int second_previewwidth = 0;
int second_previewheight = 0;
if (length == 1)
else }}
else }}
else}}
}}}prewidth = previewwidth;
preheight = previewheight;
system.out.println("預覽解析度:" + prewidth + " " + preheight);
parameters.setpictureformat(pixelformat.jpeg);
parameters.setpreviewsize(prewidth, preheight);
但是在華為手機上,由於虛擬導航欄的原因,會使得手機寬高出現偏差,如1920*1080的機器在豎屏時獲取的寬小於1080,這樣的話相機中的會出現輕微的變形,曾經想過利用沉浸模式去掉虛擬導航欄,結果導航欄不見了但是尺寸依舊不對,這裡提供乙個忽略虛擬導航欄,獲取手機真實尺寸的方法:
@suppresslint("newapi") private void setscreensize(context context)
else
} else
width = x;
height = y;}
經測試,此方法可行
調整螢幕的解析度
調整螢幕的解析度,在開始的時候進行調整並記錄原始的解析度,在程式退出的時候再調整到原始的狀態 結束時調整 if m bchangedisplay 啟動時調整 調整分辯率 m isyswidth getsystemmetrics sm cxscreen m isysheight getsystemme...
VMware虛擬機器螢幕大小(螢幕解析度)調整
vmware虛擬機器螢幕大小 螢幕解析度 調整 一,vmware中linux虛擬機器螢幕解析度調整之前安裝修改linux解析度命令列 在vmware中安裝linux虛擬機器後,螢幕解析度通常預設設定為800x600,並且不能通過 螢幕解析度首選項 視窗 系統 首選項 螢幕解析度 進行設定。一般情況下...
vSphere中虛擬機器的螢幕解析度修改
問題 正常安裝vmware 虛擬機器 和linux後,能選擇的最高解析度只有800 600,很不方便主選單 系統設定 顯示中設解析度設定為 1280 1024,色彩深度 上百萬顏色,然後確定,出現資訊 你需要登出並重新啟動x伺服器才能使改變生效。配置被寫入 etc x11 xf86config,原來...