目前的版本默认是把picture size 的最大值做为默认值,如果想修改 picture size 的默认值,可以按以下方
法来修改。
[Solution]
修改 pcituresize 的默认值,需要在初始化和 restore preference 时进行修改,下面以将 picture
size 默认值设成 1600x1200 为例进行详细说明。
在CameraSettings.java (alps\packages\apps\camera\src\com\android\camera) 中做
如下修改:
1 、初始化设置参数时修改 picture size 的默认值
在函数filterUnsupportedOptionsForPictureSize ()中:
将:
resetIfInvalid(pref, resetFirst);
改为:
if(row ==SettingChecker.ROW_SETTING_PICTURE_SIZE)
{
String value =pref.getValue();
Log.v(TAG, "resetIfInvalid(" +value + ")first= "+ resetFirst);
if(pref.findIndexOfValue(value) == NOT_FOUND) {
if(resetFirst) {
pref.setValueIndex(0);
}else if (pref.getEntryValues() != null &&
pref.getEntryValues().length > 0) {
//下面函数传入的值为所要设置的默认值的 index, 比如默认值设为 1600x1200 ,则此
处需要传入1600x1200 所对应的 index 值
pref.setValueIndex(1);
}
}
}
else
{
resetIfInvalid(pref,resetFirst);
}
2 、恢复默认参数时添加 picture size 的默认值
在函数restorePreferences() 的最后添加:
List<Size> supported =parameters.getSupportedPictureSizes();
String targetRatio =SettingChecker.getPreferenceValue(context,
preferences,SettingChecker.ROW_SETTING_PICTURE_RATIO);
if(CameraSettings.setCameraPictureSize("1600x1200",supported, parameters,
targetRatio, context))
{
SharedPreferences.Editor editor =ComboPreferences.get(context).edit();
editor.putString(CameraSettings.KEY_PICTURE_SIZE,"1600x1200");
editor.apply();
}