如何修改picture size的默认值
[Description]
目前的版本默认是把picture size的最大值做为默认值,如果想修改picture size的默认值,可以按以下方法来修改。
[Solution]
修改pciture size 的默认值,需要在初始化和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();
}