如何在Ubuntu中使用条件布局

我们知道现代手机可以随着手持的方位发生改变而使得手机的方位也随着发生改变。对有些应用来说,我们也希望手机的布局也能跟随发生变化。另外一种情况是当我们的应用安装到不同屏幕尺寸的平台上,我们希望我们的布局会随着屏幕的尺寸不同而发生不同的变化。我们可以利用剩余的空间显示更多的内容。在Ubuntu平台中,我们使用一个称作为conditinal layout的机制来使得我们的布局发生改变。在conditional
layout
的上面可以阅读更多的内容。

1)下载我们在上节中设计好的应用

我们可以在如下的地址:

bzr branch lp:~liu-xiao-guo/debiantrial/developernews_step1

下载我们的源码。我们可以安装到手机上并熟悉该应用。

2)使用conditional layout

conditional layout能够使得我们根据屏幕的尺寸来安排我们的控件。下面我们来具体讲解怎么实现它:

1)在我们的main.qml中加入如下的库:

import Ubuntu.Layouts 1.0

2)在main.qml中的PageStack之前,加入如下的代码:

 Layouts {
       id: mainLayout
       anchors.fill: parent

       layouts: [
           ConditionalLayout {
               name: 'flat'
               when: mainLayout.width >= units.gu(70)
               Page {
                   id: flatPage
                   title: i18n.tr("Developer News")

                   tools: ToolbarItems {
                       ToolbarButton {
                           action: reloadAction
                       }
                   }

                   Row {
                          anchors.fill: parent

                       ItemLayout {
                           item: "articleList"
                           width: parent.width >= units.gu(100) ? units.gu(50) : parent.width/2
                           height: parent.height
                       }
                       ItemLayout {
                           item: "articleContent"
                           width: parent.width - articleList.width
                           height: parent.height
                       }
                   }
               }
           }
       ]

       onCurrentLayoutChanged: {
           if (mainLayout.currentLayout != 'flat') {
               mainView.activeLeafNode = pageStack.currentPage
           }
       }

3)在PageStack中的ArticleListView加入:

 Layouts.item: "articleList"

4)在ArticleListView中的onClicked的如下代码:

 pageStack.push(contentPage)

替换为:

                   if (mainLayout.currentLayout != "flat") {
                       contentPage.title = instance.title
                       pageStack.push(contentPage)
                   }

5)在ArticleContent的定义中加入:

Layouts.item: "articleContent"

6)在main.qml的最后端加入:

}

现在我们已经完成了我们的工作。我们现在运行一下我们的应用。

当我们把应用的尺寸变大后,应用显示为:

最终的源码在如下地址可以找到:

bzr branch lp:~liu-xiao-guo/debiantrial/developernews_step2

时间: 2024-10-16 23:16:04

如何在Ubuntu中使用条件布局的相关文章

怎样在Ubuntu中使用条件布局

我们知道现代手机能够随着手持的方位发生改变而使得手机的方位也随着发生改变.对有些应用来说,我们也希望手机的布局也能尾随发生变化.第二种情况是当我们的应用安装到不同屏幕尺寸的平台上,我们希望我们的布局会随着屏幕的尺寸不同而发生不同的变化. 我们能够利用剩余的空间显示很多其它的内容. 在Ubuntu平台中,我们使用一个称作为conditinal layout的机制来使得我们的布局发生改变. 在conditional layout的上面能够阅读很多其它的内容. 1)下载我们在上节中设计好的应用 我们能

如何在ubuntu中启用SSH服务

如何在ubuntu14.04 中启用SSH服务 开篇科普:  SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台.SSH在正确使用时可弥补网络中的漏洞.SSH客户端适用于多种平台

如何在ubuntu中安装php

如何在ubuntu中安装php 情衅 | 浏览 692 次 发布于2016-05-07 12:36 最佳答案 关于Ubuntu下的LAMP配置步骤: 首先要安装LAMP 就是Apache,PHP5,Mysql5. 打开终端,输入命令行.1.安装 Apache 1.打开终端 2. 输入以下命令 sudo apt-get install apache2 3. 如果没有sudo 权限,需要输入密码.2.测试 Apache 为了确定安装是否成功,测试一下. 1. 打开浏览器,输入以下网址 http://

如何在ubuntu中安装英汉词典——ubuntu 小技巧3

如何在ubuntu中安装英汉词典 对于英语能力欠缺或经常遇见生僻词汇的人而言,在PC上安装一英汉词典是很有必要的,而linux系统中没有有道.金山词霸等经典词典工具可供使用,也没有那么多容易安装的词典可供选择,因此能够安装一个词典并且可以扩充词汇是相当有利于我们工作的!下面简单说一下如何安装词典,并且向其扩充词汇! 操作方面依然使用最简单的方法--ubuntuSoftware Center 下载并且安装StarDict,如下图: 首先, 在search 栏输入 StarDict的部分或全部单词,

如何在 Ubuntu 中再次登录时还原上次运行的应用

在你的 Ubuntu 里,如果你需要处理一些工作,你并不需要关闭正运行着的那些应用,只需要管理一下窗口,并打开那些工作需要的应用就行.然而,如果你需要离开处理些别的事情或你的机器电量低使得你必须马上关闭电脑,这些程序可能就需要关闭终止了.不过幸运的是,你可以让 Ubuntu 记住所有你正运行的应用并在你下一次登录时还原它们.自动保存会话现在,为了让我们的 Ubuntu 记住当前会话中正运行的应用并在我们下一次登录时还原它们,我们将会使用到 dconf-editor.这个工具代替了前一个 Ubun

如何在ubuntu中搭建ruby开发环境

Ubuntu是一个以桌面应用为主的linux操作系统,在进行项目开发的时候,需要在ubuntu中安装ruby开发(http://www.maiziedu.com/course/ruby-px/)语言,主要是考虑到项目的高可变性,以及由此产生的高适应性,所以选择用ruby.跟Java相比,ruby的确比较灵活,能写出千变万化的代码. 但是,比较可悲的是,在windows7上面搭建ruby环境问题比较多.无论是基于cgywin,还是直接使用netbeans都不尽如人意. 因为想调整webserver

如何在Ubuntu中安装JDK

下载JDK 1,到Oracle官网下载相关的JDK 2,在你的账户下新建文件夹,并命名为"Java",当然了,名字你可以随意. 也就是在/home/user/Java,我的位置是/home/nomasp/Java.然后将你下载的文件提取并拷贝到此处. 3,打开终端(terminal),如果找不到就直接搜索好了. 配置环境变量 Tips:使用"Ctrl+H"可以显示隐藏文件. 1,在终端中输入: sudo emacs /etc/environment 这条命令的意思是

如何在ubuntu中使用phantomjs

1.在http://phantomjs.org/下载相应的linux版本,并将其解压: 2.ubuntu下使用vi编辑/etc/profile,加入如下语句将解压后的bin路径加入到PATH: export PATH=/home/jayzee/SoftWares/Development/phantomjs/bin:$PATH 3.logout再登入,在终端界面输入: phantomjs -v 即可看到phantomjs的版本,表示你已经安装成功.

如何在ubuntu中安装mysql与mysql workbench

安装过程如下 sudo apt-get install mysql-server 安装过程中随后设置mysql的密码 之后sudo apt-get install mysql-client 安装好之后使用终端进入mysql控制台 sudo apt-get install mysql-workbench 可能出现问题后的备用文档 http://www.cnblogs.com/wuhou/archive/2008/09/28/1301071.html http://blog.sina.com.cn/