zoukankan      html  css  js  c++  java
  • 关于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);
    .....
    }
  • 相关阅读:
    时光流年(4)向往
    Vue.js入门(9)组件插槽
    时光流年(3)古韵
    Java面试题(12)哈希表
    Java面试题(11)Java中hashCode方法的作用
    Java面试题(10)Java中==、equals()、compareTo()的区别
    Java MyBatis-Plus(1)
    Vue.js入门(8)watch、computed和methods之间的区别
    Java面试题(9)常用工具
    Java MyBatis3(11)逆向工程--MyBatis Generator
  • 原文地址:https://www.cnblogs.com/rainey-forrest/p/5135915.html
Copyright © 2011-2022 走看看