码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2016-01-16 18:58:41      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

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);
.....
}

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

标签:

原文地址:http://www.cnblogs.com/rainey-forrest/p/5135915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!