deviceone 开发 烦烦索索那些事

目前,项目已经成型 不得不说 模块类型的开发写起来真的挺爽的
但是 有爽的 自然有不爽的 有些地方还是那个样子 难处理 相比于android原声的还是稍微简单一些 官方目前也在积极的更新

写了一段收缩 展开的 逻辑代码
先上图
这里写图片描述
我的项目需求是三个以上展开 这样 我们先来分析一下
首先 这是个详情界面
根布局是滚动布局 do_scrollview 这点勿用质疑
这个卸货地址 要用包裹布局来写 使用 do_linerlayout 高度 -1
将这个do_linerlayout 视为一个容器 我们向其中动态添加子布局
do_studio 这里比较恶心 设置为-1 之后 如果下面还有布局 会把它盖住 很难受 所以最开始写的时候稍微给一些高度 等到最后调整的时候在改为-1 以便于观测修改
“点击修改”也是一个子view 动态修改添加的

剩下的直接扔代码

/**
 * dl_end_address_list
 * 
 * @returns 终点地址
 */
function setenddetail(end_data) {

    if (end_data.length > 3) {
        for (var i = 0; i < 3; i++) {
            setitem(i, end_data);
            // 超出三个 显示按钮
            if (i == 2) {
                list_container.add("btn",
                        "source://view/goodsource/detail/btn.ui", "endaddress"
                                + (i));
                ui("btn.div_down_up").source = "source://image/down.png";
                ui("btn.dbtn_down_up").text = "向下展开";
                common
                        .clickEvent(
                                ui("btn.dbtn_down_up"),
                                function() {
                                    if (is_down) {
                                        for (var j = 3; j < end_data.length; j++) {
                                            setitem(j, end_data);
                                        }
                                        is_down = false

                                        ui("btn.dbtn_down_up").text = "向上收起"
                                        ui("btn.div_down_up").source = "source://image/up.png";
                                    } else {
                                        for (var j = 3; j < end_data.length; j++) {
                                            ui("endaddress" + j).remove();
                                        }
                                        is_down = true
                                        ui("btn.dbtn_down_up").text = "向下展开";
                                        ui("btn.div_down_up").source = "source://image/down.png";
                                    }
                                });
            }

        }
    } else {
        for (var i = 0; i < end_data.length; i++) {
            setitem(i, end_data);
        }
    }

}

function setitem(i, end_data) {
    if (i == 0) {
        // 添加第一个
        list_container.add("endaddress" + i,
                "source://view/goodsource/detail/endaddress.ui");

        ui("endaddress" + i + ".div_endaddress_index").source = "source://image/"
                + (i + 1) + ".png";
        ui("endaddress" + i + ".dl_endaddress").text = end_data[i].eadrs_detail_address;
    } else {
        // 添加剩余
        list_container.add("endaddress" + i,
                "source://view/goodsource/detail/endaddress.ui", "endaddress"
                        + (i - 1));
        ui("endaddress" + i + ".div_endaddress_index").source = "source://image/"
                + (i + 1) + ".png";
        ui("endaddress" + i + ".dl_endaddress").text = end_data[i].eadrs_detail_address;
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值