XML布局存放在工程文件的res/layout目录下。安卓和PC端的界面布局有用到。

常用的布局方式,线性布局:LinearLayout

表格布局:TableLayout

帧布局  :FrameLayou

绝对布局:AbsoluteLayout

相对布局:RelativeLayout

 <LinearLayout
xmlns=“http://域名/xWindow/layout”
xmlns:amdroid="http:/域名/xWindow/android"
android:layout_width="match_patent"
android:layout_height="warp_parent
android:paddingLeft="12dp"
android:clickable="true"
android:gravity="center_vertical">
<ImageView
android:id="1"
android:layout_width="1"
android:layout_heigth="1"
android:style="RoundBackgroundStyle">
<HoverPressedBackgroundHandler
android:normal = "XXX.png"
android:hover = "XXX.png"
android:pressed = "XXX.png"/>
<HoverTipHandler android:TipText = "1111"/>
<1BtnHandler/>
</ImageView>
<ImageView
android:id="2"
android:layout_width="2"
android:layout_heigth="2"
android:style="RoundBackgroundStyle">
<HoverPressedBackgroundHandler
android:normal = "XXX.png"
android:hover = "XXX.png"
android:pressed = "XXX.png"/>
<HoverTipHandler android:TipText = "2222"/>
<2BtnHandler/>
</ImageView>
</LinearLayout>

match_parent和warp_parent的区别是:match_parent是自动填满和fill_parent的功能是一样的,warp_parent是根据需要填充的内容的变化,来确定大小。

paddingLeft和layout_marginLeft的区别是:layout_marginLeft实在整个布局的左边界,paddingLeft是布局里的左边界距离。

代码的14-17行是正常显示,鼠标悬浮,以及点击三态的显示。

HoverTipHandler是鼠标进入后的悬浮显示

<1BtnHandler>触发上面的点击事件,用这个handler来显示次级菜单栏,或者说是,显示另一个界面布局。这个handler可以继承xViewHandler。重写虚函数。

定义一个xView类型的指针, m_p = &m_pHostView->vIewAt<xView>("1"),根据id取出对象,然后,通过封装好的SLOT_CONNECT(),将这个按钮与槽函数绑定上。

XML布局之路的更多相关文章

  1. 第五篇:在SOUI中使用XML布局属性指引(pos, offset, pos2type)

    窗口布局的概念 每一个UI都是由大量的界面元素构成的,在Windows编程,这些界面元素的最小单位通常称之为控件. 布局就是这些控件在主界面上的大小及相对位置. 传统的布局一般使用一个4个绝对坐标来定 ...

  2. 仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)

    转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出 ...

  3. android xml布局文件属性说明

    android xml布局文件属性说明 [摘]android xml布局文件属性说明 LinearLayout和RelativeLayout 共有属性:java代码中通过btn1关联次控件androi ...

  4. 使用XML布局文件和Java代码混合控制UI界面

    完全使用Java代码来控制UI界面不仅烦琐.而且不利于解耦:而完全利用XML布局文件来控制UI界面虽然方便.便捷,但难免有失灵活.因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面. 当 ...

  5. xml布局解析报错的可能原因

    xml布局解析报如下的错11-15 16:55:21.425 17633-17633/com.hongfans.mobileconnect I/LogUtils_info: [CrashHandler ...

  6. android 开发 使用自定义布局实现标题栏复用(标题栏内容自定义:使用代码实现和xml布局自定义属性2种办法实现)

    在个人学习的情况下可能很少使用自定义布局去实现大量复用的情况下,但是在一个开发工作的环境下就会使用到大量复用的自定义控件. 实现思维: 1.写一个xml的布局,用于标题栏的样式,并且添加在标题栏中你想 ...

  7. Android中measure过程、WRAP_CONTENT详解以及 xml布局文件解析流程浅析

    转自:http://www.uml.org.cn/mobiledev/201211221.asp 今天,我着重讲解下如下三个内容: measure过程 WRAP_CONTENT.MATCH_PAREN ...

  8. 从LayoutInflater分析XML布局解析成View的树形结构的过程

    上一篇博客分析了XML布局怎么载入到Activity上.不了解的能够參考 从setContentView方法分析Android载入布局流程 上一篇博客仅仅是分析了怎么讲XML布局加入到 Activit ...

  9. 安卓app开发-05-Android xml布局详细介绍

    安卓app开发-05-Android xml布局详细介绍 虽然说有 墨刀,墨客 这些图形化开发工具来做 Android 的界面设计,但是我们还是离不开要去学习做安卓原生app,学习 xml 布局还是必 ...

随机推荐

  1. (转)MySQL 日志组提交

    原文:https://jin-yang.github.io/post/mysql-group-commit.html 组提交 (group commit) 是为了优化写日志时的刷磁盘问题,从最初只支持 ...

  2. Oracle 维护数据的完整性 一 约束

    简介:约束用于确保数据库满足特定的商业规则.在Oracle中,约束包括以下几种: 1.not null      非空约束       该劣质不能为null 2.unique       唯一约束   ...

  3. Linux下MySQL出现乱码的解决方法

    开发环境 cent os 6.5 mysql springboot duird 故障描述 本地开发环境没有任何问题,上传到服务器后发现提交的表单内容只要是中文直接变成 ??? 解决方式 错误尝试: 一 ...

  4. java ee的map

  5. r.js 配置文件 example.build.js 不完整注释

    /* * This is an example build file that demonstrates how to use the build system for * require.js. * ...

  6. 判断字符串中是否包含Emoji表情代码

    判断字符串中是否包含Emoji表情代码: + (BOOL)stringContainsEmoji:(NSString *)string { __block BOOL returnValue = NO; ...

  7. 创建WPF用户控件

    wpf用户自定义控件和winform创建方法类似,这里先纠正一个误区,就是有很多人也是添加,然后新建,然后是新建用户控件库,但是为什么编译好生成后Debug目录下还是只有exe文件而没有dll文件呢? ...

  8. C#语言-05.委托和事件

    a. 委托:是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联.所谓兼容的方法,是指这个方法和委托的方法签名具有相同的返回类型和参数 i. 语法:delegate 方法签名; . 方法签名是方 ...

  9. Cheatsheet: 2017 04.01 ~ 04.30

    Other ReactXP - A LIBRARY FOR BUILDING CROSS-PLATFORM APPS Merging vs. Rebasing Better Git configura ...

  10. [android] 练习viewpagerindicator的使用(二)

    主要还是想实现滑动的tab切换效果 MainActivity.java package com.example.csdn; import com.viewpagerindicator.TabPageI ...