美文网首页
Android uni app 列表底部白条解决方案

Android uni app 列表底部白条解决方案

作者: ITxiaoguang | 来源:发表于2021-10-29 15:01 被阅读0次

uni app中android打开本地vue的列表会发现,底部有条白边。

vue通过uni.getSystemInfoSync();方法获取系统信息,首次取值对,再次取值就出错

uni app每次启动冷APP uni通过uni.getSystemInfoSync();方法获取系统信息的信息是正常的,再次获取屏幕信息异常。

解决方案:

- 由于uni app无法知道启动为冷启动还是其他启动方式
- 所以android原生通过UniModule的isAppStarted告诉uni app是冷启动还时其他启动方式
- uni app冷启动时:获取屏幕信息并保存;其他启动方式:通过本地存储获取屏幕信息
// 原生代码如下 start

    // Activity代码
    public static int started = 0;

    public static int getStarted() {
        return started;
    }

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        started++;
    }

    // UniModule代码
    /**
     * 是否热、温启动 仅android有
     *
     * @return true 是 false 否
     */
    @JSMethod(uiThread = false)
    public boolean isAppStarted(JSONObject options) {
        return (MyPandoraEntry.getStarted() > 1);
    }

// 原生代码 end

// vue代码如下
    // vue列表中适配
    var isAppStarted = uniModule.isAppStarted();
    if(isAppStarted){// 热、温启动 数据库 取值
        this.commData = uni.getStorageSync('commData') ;
        if(!this.commData){
            this.commData = uni.getSystemInfoSync();
        }
    }else{// 冷启动 存数据库
        this.commData = uni.getSystemInfoSync();
        uni.setStorageSync('commData', this.commData);
    }

相关文章

网友评论

      本文标题:Android uni app 列表底部白条解决方案

      本文链接:https://www.haomeiwen.com/subject/fyvialtx.html