关于android MTK相机L版本,切换屏幕比例后,分辨率随之改变,但重新进入相机后原有分辨率不再生效问题

BUG详细:比如4:3的时候是200W,切成全屏变400W,重新切回4:3为300W,退出相机后,重新进入又变成200W。

原因分析:这个版本的设计如此,当你点选屏幕比例的时候,程序设计是把这个比例值作为主属性,通过sharepreference(写文件操作,文件数据内容实际就是一个键值对)写文件,而分辨率作为副属性通过find()方法找到合适的值,但是此分辨率并未写进sharepreference,所以重新进入还是读原来的文件值。

修改方法:CommonRule.java

public void execute() {
mConditionSetting = mSettingGenerator.getSettingItem(mConditionKey);
mResultSetting = mSettingGenerator.getSettingItem(mResultKey); String conditionSettingValue = mConditionSetting.getValue();
int index = conditionSatisfied(conditionSettingValue);
String resultValue = mResultSetting.getValue();
int type = mResultSetting.getType();

.......

.......

if (mResultSetting.isEnable()) {
setResultSettingValue(type, resultValue, overrideValue, true);
} if (mConditionKey.equals(SettingConstants.KEY_PICTURE_RATIO)) {
  //添加如下代码
ListPreference pref = null;
pref = mResultSetting.getListPreference();
SharedPreferences.Editor editor = pref.getSharedPreferences(SettingConstants.KEY_PICTURE_SIZE).edit();
editor.putString(SettingConstants.KEY_PICTURE_SIZE, resultValue);
editor.apply();
  //添加如上代码
return;
}
Record record = mResultSetting.new Record(resultValue, overrideValue);
mResultSetting.addOverrideRecord(mConditionKey, record);
.....
}
上一篇:js-DOM,DOM扩展


下一篇:【Elastic Engineering】Elasticsearch: 理解 mapping 中的 store 属性