[DeviceOne开发]-do_LinearLayout组件使用技巧

一、摘要

今天跟大家主要来介绍一下DeviceOne中的do_linearlayout这个布局,在DeviceOne开发中,do_linearlayout这个布局是相当重要。

现在给大家来总结一下。

二、基本的总结

我们来看下这个linearlayout,做过原生开发的同学(android或者ios或者windows)可能对这个单词比较熟悉,没错,这个linearlayout在Deviceone中所要实现的效果跟原生里面是完全一样。

linearlayout这个布局有两种方式,一个是vertical(垂直布局),一个是horizontal(水平布局)。

vertical(垂直布局):就是在这个布局里面的所有组件都是按照垂直的方式来排列的,也就是说,这个布局里面你在设置里面组件的x,y坐标是没有用的。举例:

从上图我们可以看出,在这个垂直布局里面,我放了一个button1,那么我在add一个button2的时候,我不需要去设置他的x,y坐标,他会直接放到button1下面的。这就是这个垂直布局的特性,而且我们可以将linearlayout的高度设置-1,会根据里面的组件大小来自动适应。

horizontal(水平布局):水平布局正好跟上面的垂直布局相反,我想就不用多做解释了。

三、示例代码

var nf = sm("do_Notification");
var add = ui("addLinearLayout");
var linearlayout = ui("do_LinearLayout_1");
var i = 0;
add.on("touch", function() {
    // 插入到“第二个组件”下
    // add函数返回是新加ui的地址,
    // add 的参数1是表示加进来的ui在index.ui里的唯一标示,必须和index.ui其他view的id不一样
    var newui = linearlayout.add("added_ui_id" + i, "source://view/test.ui",
            "do_Button_1");
    // ui("added_ui_id" + i)===ui(newui)
 
    // label是新加进去来的ui文件里的一个子view,可以通过这种方式获取到子view的对象
    var label = ui(newui + ".do_Label_1");
    label.text = "我是add进来的" + i;
 
    newui = ui("added_ui_id" + i);
    newui.width = newui.width + 10 * i;
    i++;
 
});

四、实际用途

通过上面的分析,我想大家可能都知道该在什么地方来使用这个布局了。

例如:在某个App页面需要动态增加一些组件的时候,就可以使用这个组件了。

时间: 2024-08-10 21:14:09

[DeviceOne开发]-do_LinearLayout组件使用技巧的相关文章

[deviceone开发]-do_Http组件示例

一.简介 详细展示do_Http组件的使用,包括get,post,upload,form,download的http请求.另外还附加了一个Java实现的后台程序作为参考.初学者强烈推荐. 二.效果图 三.相关下载 https://github.com/do-project/code4do/tree/master/http_demo 四.相关讨论 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=558 五.更多案例http://sourc

[deviceone开发]-UI组件的动画示例

一.简介 自定义组件模版(头部,按钮,加减数量,加载,底部弹出,开关(文字/无文字),选项卡(2-4), radio)全部带自定义动画效果,需从组件商店中添加:do_Animator组件 二.效果图 三.相关下载 https://github.com/do-project/code4do/tree/master/MagicBeanTemplate 四.相关讨论 http://bbs.deviceone.net/forum.php?mod=viewthread&tid=463 五.更多案例 htt

JavaScript使用DeviceOne开发实战(三)仿微信应用

这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际App. 在实现的过程中,会有很多困难,还会发现有一些功能目前缺乏组件支持而无法实现,也会碰见各种移动开发中都会碰到的常见技术问题.一步一步的操作和问题的解决可以让开发者直观的了解通过DeviceOne如何开发一个实际App,也可以了解移动开发本身的很多技术细节,可以让App开发者少走很多弯路. 这

一步一步跟我学DeviceOne开发 - 仿微信应用(一,二,三)

这是一个系列的文档,长期目标是利用DeviceOne开发一些目前使用广泛的优质手机应用,我们会最大化的实现这些应用的每一个功能和细节,不只停留在简单的UI模仿和Demo阶段,而是一个基本可以使用的实际App. 在实现的过程中,会有很多困难,还会发现有一些功能目前缺乏组件支持而无法实现,也会碰见各种移动开发中都会碰到的常见技术问题.一步一步的操作和问题的解决可以让开发者直观的了解通过DeviceOne如何开发一个实际App,也可以了解移动开发本身的很多技术细节,可以让App开发者少走很多弯路. 这

Js开发中常用的技巧(上)

Js开发中常用的技巧 1.首次为变量赋值时务必使用var关键字 变量没有声明而直接赋值得话,默认会作为一个新的全局变量,要尽量避免使用全局变量.很显然,全局变量的搜索要比局部变量慢得多:这样就是很多像jQuery等js类库,将window作为入参传入的原因之一. 2.使用===取代== ==和!=操作符会在需要的情况下自动转换数据类型.但===和!==不会,它们会同时比较值和数据类型,这也使得它们要比==和!=快.(两个之间的区别,详见博主的博客). 3.underfined.null.0.fa

JavaScript使用DeviceOne开发实战(一) 配置和起步

2015 年 9 月 底,DeviceOne Release发布.至此,DeviceOne 基本完成了对多端的支持.基于 DeviceOne 可以: HTML5.Android.iOS.Windows 多端代码一次编写,各处复用: 实时简单部署. 本地化UI 在接下来的时间,我会通过一系列文章来介绍 DeviceOne.本文介绍环境配置以及如何建立一个简单的项目.(注:本篇文章 iOS 和 Android和Windows 开发都适用.) 目前使用 DeviceOne 开发可以在Windows 或

Android开发四大组件之Service(实例篇)

关于Service的开发详解已经在上一篇:Android开发四大组件之Service(详解篇)讲的很清楚了,本篇主要对Service的开发实例做下讲解. 程序运行效果图: 程序代码: BindService: package com.jph.servicedemo; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; /**

iOS开发之组件化架构漫谈

前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还是要根据公司具体的业务需求设计架构. 在学习组件化架构的过程中,从很多高质量的博客中学到不少东西,例如蘑菇街李忠.casatwy.bang的博客.在学习过程中也遇到一些问题,在微博和QQ上和一些做iOS的朋友进行了交流,非常感谢这些朋友的帮助. 本篇文章主要针对于之前蘑菇街提出的组件化方案,以及cas

李洪强iOS开发之性能优化技巧

李洪强iOS开发之性能优化技巧 通过静态 Analyze 工具,以及运行时 Profile 工具分析性能瓶颈,并进行性能优化.结合本人在开发中遇到的问题,可以从以下几个方面进行性能优化. 一.view优化 1.不透明的View 设置为opaque. 2.根据实际情况重用.延迟加载或预加载View. 3.减少subviews数量,定制复杂cell使用drawRect.尽量使用drawRect而不是layoutSubView. 4.不直接调用drawRect. layoutSubviews方法.万不