布局

Android开发之LinearLayout布局详解

人盡茶涼 提交于 2020-04-12 17:55:27
Android开发之LinearLayout布局详解 LinaerLayout又被称为线性布局,是Android界面开发中常用的一种容器视图控件。可以使用XML布局文件配置和代码动态创建两种方式来使用LinearLayout。使用LinearLayout可以十分轻松的布局出横向或者纵向线性堆叠界面,并且,嵌套使用LinearLayout也可以方便的布局出复杂的平面组合布局,通常情况下,ScrollView会与LinearLayout进行结合使用。在iOS9中推出的UIStackView、在watchOS开发中使用和核心布局模型Group与LinearLayout的思路十分一致,可见这种线性堆叠的布局方式在一定场景下十分有优势。 使用代码动态创建LinearLayout示例如下: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //创建对象 LinearLayout linearLayout = new LinearLayout(this); linearLayout.setBackgroundColor(Color.WHITE); setContentView(linearLayout); //设置布局方向 /* 支持水平和竖直两种

GMF树形布局 3 展开/折叠时更换Node图标

不问归期 提交于 2020-04-07 12:39:49
前一篇博客实现了展开/折叠,但是如果当节点折叠时图标可以发生变化,例如变成加号,那就直观了。这篇博客解决这个问题。 具体步骤如下: 1、首先,将两个图标文件放在diagram工程下的icons\custom下,并刷新这个工程,如下图所示: 2、修改Topic节点图标的地方,在TopicNameEditPart中的getLabelIcon()方法中,需要将它修改。具体思路是:检查其父类即 TopicEditPart所对应的的模型的isExpanded成员变量,如果是false,则返回加号图像,否则,返回Topic图像。 修改 getLabelIcon()方法如下: /** * @generated NOT */ protected Image getLabelIcon() { EObject parserElement = getParserElement(); if (parserElement == null) { return null; } return this.createLabelIconImage(); } 3、在 TopicNameEditPart中添加createLabelIconImage()方法: /** * 根据父模型,创建标签图标 */ private Image createLabelIconImage() { Image labelIconImage

GMF树形布局 2 实现展开/折叠

我的未来我决定 提交于 2020-04-07 12:10:23
这一篇博客在上一篇的基础上,实现展开/折叠功能。期待的最终效果是,双击某一Node,其后面的Node与连线都隐藏;再双击时显示回来。并且折叠之后,保存关闭,下次打开时还处于折叠状态,可以正确展开。 有一个细节应当注意,如下图: 比如折叠了节点1之后再折叠节点0,之后再展开节点0的时候,节点1应当还是处于折叠状态。 具体步骤如下: 1、为了实现这个展开/折叠操作,并且方便以后实现图标的更换,可以在节点的模型文件中添加一个布尔型的变量expanded,用于标识展开状态。可以在模型文件中修改,然后重新生成Model Code以及Edit Code,具体操作可以参考 这里 的步骤1、2。注意,将 expanded的默认值设为true。 2、创建一个Command,用于实现折叠或者展开。先在diagram工程下的src目录下新建一个package,名为org.eclipse.gmf.examples.mindmap.diagram.edit.commands.custom,在其中新建一个class文件,名为ExpandOrCollapseCommand,继承自RecordingCommand。 3、ExpandOrCollapseCommand的构造函数如下,获取 public ExpandOrCollapseCommand( TransactionalEditingDomain

WEB标准布局(DIV+CSS)学习笔记(二)--DIV的布局基础

会有一股神秘感。 提交于 2020-03-01 05:43:45
DIV的布局是挺基础,也挺重要的知识,有几个关键字:width、height、margin和float,用几个例子进行最简单的说明: 每个DIV独占一行的布局 先看一个很常见的例子:设计网页时,往往可以将页面分成top、center和bottom三个区域 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <style type="text/css"> #top { background-color: #666666; height: 50px; width: 480px; margin: 5px auto; } #center { background-color: #CCCCCC; height: 200px; width: 480px; margin: 5px auto; } #bottom {

WEB标准布局(DIV+CSS)学习笔记(一)--基础知识

时光总嘲笑我的痴心妄想 提交于 2020-03-01 04:56:53
首先,CSS样式有4种使用方式: 1、外部样式 2、内部样式 3、行内样式 4、导入样式 外部样式:把CSS样式写入到一个单独的文件中,每个HTML页面链接该文件,是使用最为广泛的方式, 很好的体现了表达(CSS)与结构(HTML )的分离思想 。 <!-- 在head标签内增加如下代码,代表链接外部样式 --> <head> <link href="css/mystyle.css" rel="stylesheet" type="text/css" /> </head> 内部样式:只在本HTML页面内有效,不能作用于其他页面。在本页面内, 也能够实现表达(CSS)与结构(HTML)的分离。 <!-- 在head标签内增加如下代码,代表创建内部样式 --> <head> <style type="text/css"> h1 {color:#000000;} </style> </head> 行内样式:在某个html标签内,通过定义样式,使该标签的表达发生改变。 这种方式并不好,因为表达(CSS)与结构(HTML)紧紧地耦合在一起。 但由于使用DW等网页可视化编辑工具,可以非常方便的“所见即所得”,这种方式也被很多人所使用,但要知道,这是不对的,尽可能避免。 <!-- 在p标签内部,直接定义样式 --> <p style="font-size:18px;">内部样式</p> 导入样式:

ExtJS4 API文档阅读(三)——布局和容器

和自甴很熟 提交于 2019-12-20 20:47:00
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ExtJS4 API文档阅读(三)——布局和容器 ExtJS4.0布局和容器(Layouts and Containers)是Ext JS中最强大的部分之一。它负责控制你应用程序中每个组件的尺寸和定位。本文内容包括了如何运用布局的基础。 一、容器 一个Ext JS应用程序的图形用户界面(UI)是由许多组件(查看组件指南( Components Guide )获取更多关于组件的信息)构成的。容器是一种可以容纳一些其他组件的特殊类型组件。 典型的Ext JS应用程序是由一些嵌套的组件构成不同的层来组成的。如下图: 最通用的容器就是 Panel 。让我们看下如何创建一个容器以允许一个Panel包含其他的组件: Ext.create('Ext.panel.Panel', { renderTo: Ext.getBody(), width: 400, height: 300, title: 'Container Panel', items: [ { xtype: 'panel', title: 'Child Panel 1', height: 100, width: '75%' }, { xtype: 'panel', title: 'Child Panel 2', height: 100, width: '75%' }

Web布局连载——两栏固定布局(五)

∥☆過路亽.° 提交于 2019-12-14 11:50:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在上一篇《 Web布局连载——两栏固定布局(四) 》中留了一个下文,“No div, no float, no clear, no hack”。看起来很有意思,这种没有div,没有float,没有清除浮动和没有hack的布局,还是看到的少数,当然除了 table布局。因为table布局是不需要使用前面说的几个部分。那么今天我们要讲的布局是不是table布局呢?欲想知道,那就一起随着往下看吧。 首先今天这个布局的思路是来自于 sneak peek 的《 No div, no float, no clear, no hack*, no joke! 》一文。虽然整个页面看到不到table的有关标签,但是其布局的原理却是和table一模一样。那么我们实现如下所示的效果,究竟要怎么来写呢? 既然原理是来自于表格,那么表格的结构,我想不用我在这里多说,大家应该都知道,如果您不知道,那加紧补习一下html中的表格标签相关应用。表格用于布局,最大的时候是整个页面都是table,而且table里还有table,层层关系是那个复杂呀,头痛。可今天要说的,我们只是运用table的原理来布局,而且只是运用在分栏部分。具体的我们来看: HTML结构 <div id="wp"> <div id="hd">Header</div> <div

CSS 布局:40个教程、技巧、例子和最佳实践

 ̄綄美尐妖づ 提交于 2019-12-09 21:38:36
前言: 布局是WEB开发一个重要的课题,进入XHTML/CSS后,使用TABLE布局的方式逐渐淡出,CSS布局以众多优点成为主流,本文将介绍40个基于CSS的web布局的资源和教程。文章的出处在 http://www.noupe.com/css/css-layouts-40-tutorials-tips-demos-and-best-practices.html 。文中的不少的例子在一本经典的CSS书籍 《CCS: The Missing Manual, 2nd Edition》 中都可以找到,据我所知,第二版在中国没有翻译出版。你可以从 这里 下载英文版(不过需要注册个用户名) 正文 基于CSS的布局 能提供更灵活布局方式和更强的用户视觉体验。一些重要技巧和关键点可以帮助初学者理解CSS布局的基础和本质。这也是本文成文的原因 ——找到那些完美的布局, 完全灵活的,等高栏 和工作完美的布局。 因此下面这个列表就是我们整理了网络上关于基于CSS布局的一些技巧,教程和最佳实践的列表。 当然你也可能对下面这些和CSS相关的主题有兴趣: The 7 CSS Hacks that we should use Using CSS to Do Anything: 50+ Creative Examples and Tutorials Using CSS to Fix Anything: 20+

android屏幕自适应4方法案例整合

时间秒杀一切 提交于 2019-12-07 01:50:55
android:屏幕自适应 From: 4种必须知道的Android屏幕自适应解决方案(求投票支持) demo下载: http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz Demo首页的预览图 一、细说layout_weight 目前最为推荐的Android多屏幕自适应解决方案。 该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级;纵向布局中,决定的是layout_height的优先级。 传统的layout_weight使用方法是将当前控件的layout_width和layout_height都设置成fill_parent,这样就可以把控件的显示比例完全交给layout_weight;这样使用的话,就出现了layout_weight越小,显示比例越大的情况。不过对于2个控件还好,如果控件过多,且显示比例也不相同的时候,控制起来就比较麻烦了,毕竟反比不是那么好确定的。 于是就有了现在最为流行的 0px设值法。看似让人难以理解的layout_height=0px的写法

如何使用 Laravel Facades ?

我只是一个虾纸丫 提交于 2019-12-06 23:09:36
Facade 布局是在面向对象编程中经常使用的一种软件设计布局方式。Facade 实际上是一种包括复杂函数库的类,提供了更加简洁易读的接口。Facade 布局还能为一组结构复杂、设计简陋的 API 提供统一、设计周到的 API。 Laravel 框架与该布局的特点相似,也称为 Facades。在本教程中,我们会学习如何在其他框架应用 Laravel 的 “Facades”。在继续学习之前,让我们简单了解一下 Ioc 容器 。 首先,我们了解 Laravel 的 facades 内部工作结构。之后再讨论如何将之改造并用于其他环境。 Laravel 中的 Facades Laravel facade 是一种为容器内部服务提供类似静态接口的类。据其文档描述,Facades 是可触及容器服务底层实现方式的代理。 不过,在 PHP 社区,有关其名称的争论一直不断。一些人坚持修改此名称以避免开发者的困惑,因为其并未完全实现 Facade 布局。如果你也受此名称困扰,大可以为其取个别名。但是,请注意,下文将会用到的 Laravel 框架基类(base class)将会称为 Facade。 How Facades Are implemented in Laravel Facades 在 Laravel 中如何实现 你可能也知道,容器内的每个服务都有个唯一名称。在 laravel 应用中,可使用