通过布局的嵌套可以创造出复杂的设计。如果想要美化之前的个人信息界面,可以采用 将 LinearLayout嵌入到RelativeLayout中的方法。这个布局包含一个在线状态标签和一 个描述字段。

单击调板中的竖直LinearLayout,然后在预览面板中Image View的下方单击并放置它。

确保工具提示显示alignParentLeft和 below=imageView。单击调板中的Plain TextView,接着在新添加的LinearLayout内部单击并放置此组件。这将是你的在线状态标识符。接着找 到 Large Text组件;在调板中单击它,这次在右侧组件树中找到另一个新添加的TextView, 在其下方单击并放置组件。当把鼠标移到LinearLayout中TextView的下方时,将出现一个 较粗的放置目标标识符,如图8-12所示。

使用属性面板,将第一个TextView的文本属性修改为online并为下方Text View的文 本属性添加描述。接下来在预览面板的任意位置单击并按下Ctrl + A|Cmd + A以选中所有 组件。找到layout:margin属性,展开它,将所有值设置为5dp,让每个组件有5像素的外 边距,如图8-13所示。

外边距控制组件的边与任意相邻组件之间的空白大小。为每个组件设置外边框是一种避免出现界面混乱的好方法。虽然我们为所有组件设置了相同的外边距.但也可以在某些边上实验并设置不同的外边距。

layoutmargin组包含用于4 条边界的设置:左边距、上边距、右边距和下边距。再次 选择所有组件,展开layout:margin设置并选择All选项。删除5dp这个值,转而将左侧外 边距设置为5dpo 这些组件将会紧密地聚合在一起,但是左侧外边距刚好留出了足够的空 间。选择文本内容为online的 TextView,将其顶部外边距设置为5 d p ,让它和上方图像之 间有更大的空间。图8-14展示了此时的界面。代码清单8-5呈现了此布局对应的代码。

代码清单 8-5 relative_example.xml 的代码<?xml  version="l. 0" encoding="utf-8’'?>

〈TextView android: layout_width=,,wrap_content" android: layout_height=’’wrap_content" android:text=u Clifton Craig" android:id="@+id/textViewl" android:layout_alignParentTop=n truen android: layout_toRightOf='*@+id/imageViewn android:layout_marginLeft="5dp" />

android:layout_width="wrap_content" android:layout_height="wrap_content" android: text=’’http: //codeforfun . wordpress . com" android:id=n @+id/textView3" android: layout_below=n (a+icl/textView2n android:layout_toRightOf=n @+id/imageViewn android:layout_marginLeft=*'5dp" />

in Java” android:layout_marginLeft="5dpH />

另一种嵌套布局的方法是使用include间接引用它们。找到LinearLayout并修改其特性, 加入一个值为details的 id 特性,并确保将其高度设置为wrap_contento同时修改并设置layout_below特性,使其下移到textView3的底部。这体现在以下代码中:

接下来在最后一个TextView标签之后,在 LinearLayout结束标签之前添加以下内容:〈include layout=’’@layout/three_button" android:layout_width=nmatch_parentn android: layout_height="wrap_content*' android:layout_below="@id/details"/>

这个特定的include标签可将任意预先定义好的布局添加到当前布局中。在前一个例子 中,我们在当前布局中引入了之前创建的三个按钮示例。将宽度声明为match_parent(扩展 了布局的整体宽度),将高度设置为wrap_content。再将按钮布局设置在details组件下方 (details是相对布局的名称)。

Ctrl+单 击 | Cmd+单击布局特性值@layout/three_button,导航到它的定义。在定义内部, 修改每个按钮的文本,使其对应于社交网络App中可用的典型操作。按照顺序将每个按钮 的文本特性修改为Add Friend、Follow和 Message。在文本或设计模式中都可以完成这件 事。图8-15展示了它在设计模式中的样子。

完成后,回 到 relative_example.xml并查看已经集成好的按钮。图 8-16展示了完成后 的样子。

android studio 布局嵌套,Android Studio实战 - 设计布局之嵌套布局相关推荐

  1. 流体式布局与响应式布局_将固定像素设计转换为流体比例布局

    流体式布局与响应式布局 Responsive web design has been a prime necessity for every enterprise ever since Google ...

  2. html响应式布局平移,响应式网页设计、响应式布局的实现原理

    概念 响应式网页设计最初是由 Ethan Marcotte 提出的一个概念:为什么一定要为每个用户群各自打造一套设计和开发方案?Web设计应该做到根据不同设备环境自动响应及调整.当然响应式Web设计不 ...

  3. android页面布局计算机,Android Studio制作简单计算器App

    Android Studio制作简单计算器App 计算机界面如图: 程序设计步骤: (1)在布局文件中声明编辑文件框EditText,按钮Button等组件. (2)在MainActivity中获取组 ...

  4. Android Studio 开发–微信APP门户界面设计

    Android Studio 开发–微信APP门户界面设计 本次Github代码仓库 --crcr1013/MyWechat 文章目录 Android Studio 开发--微信APP门户界面设计 前 ...

  5. android布局错,Android Studio布局错误

    嘿,我真的需要你的帮助 . 我的问题是Android Studio不会在模拟器或物理设备中正确显示布局 . 每当我放置一个textView,按钮等,我想将它居中(水平,垂直或两者),然后我启动模拟器它 ...

  6. 第37篇 Android Studio实现点击图片显示信息(四)布局及资源文件

    第37篇 Android Studio实现点击图片显示信息(四)布局及资源文件 4.布局文件 4.1.strings.xml 4.布局文件 整体是一个垂直布局,然后在设置一些水平布局就行了. < ...

  7. android创建布局文件,android学习——Android Studio下创建menu布局文件

    一.问题: android studio项目中没有看到menu文件夹: 在android studio项目中想要添加menu布局文件,一开始我的做法是:直接在res文件夹右键选择xml文件来添加,如下 ...

  8. java android 相册_基于安卓Android studio相册备份及管理系统的设计

    基于安卓Android studio相册备份及管理系统的设计(论文10000字,程序代码) 摘要:时代在不断地进步与发展着,用户手中的移动中终端越来越多的占据了人们的生活,可以说人们现在是十分依赖手机 ...

  9. Android Studio安卓开发-RecycleView新闻栏设计

    RecycleView新闻栏设计 绪言 1 修改Item_dome.xml文件 2 创建适配器Adapter3 2.1 编写构造方法传入数据 2.2 创建内部类,初始化Item 2.3 将数据和控件绑 ...

最新文章

  1. 计划任务执行php文件,linux系统下添加计划任务执行php文件方法
  2. 内存分配器memblock【转】
  3. mapdb java_JVM崩溃后MapDb恢复
  4. 推荐 | 《社交红利2:0》:即时引爆的四个关键定律
  5. 13.5.SolrCloud集群使用手册之数据导入
  6. Android Studio 设置字体
  7. python subprocess.Popen简明总结
  8. 如何快速开发后台管理系统【未完,待补充,欢迎拍砖】
  9. arcpy.mapping常用四大件-StyleItem
  10. Monkeyrunner脚本的录制与回放
  11. 数据挖掘与数据化运营实战. 3.9 卖家(买家)交易模型
  12. java连接oracle设置超时,数据库链接在Oracle 11g上超时
  13. PrefTest性能测试解决方案 -- C/S结构应用系统的压力测试
  14. Pattern 模式器: Matcher 匹配器
  15. Mapper method 'org.xxxxmapper.XXXXXMapper.saveXXXX' has an unsupported return type:
  16. 用户体验测试的心得体会
  17. JanusGraph 数据模型
  18. c语言程序算一元二次方程,以实例跟我学C语言:如何求解一元二次方程的根
  19. PT1000 电桥测温
  20. 青岛小学 初中有计算机编程比赛,2017年青岛中小学信息技术竞赛活动.doc

热门文章

  1. pygame只能编写游戏_使用pygame开发的游戏发布+小总结
  2. Android App架构指南
  3. blob 在线解码_PC端微信下的dat 文件在线解码还原成为图片
  4. TinyXML的TiXmlElement::GetText()返回NULL
  5. Web设计者和开发者必备的27个Chrome插件
  6. [分享] linux利用nat123发布网站及注意事项
  7. 【超简单,保姆级】❤️Linux 安装 Windows 软件,微信、QQ、TIM等,再也不用来回切换了!❤️【建议收藏】
  8. LINUX 用户认证
  9. 网络工程师实战系列视频课程【VLAN专题】-夏杰-专题视频课程
  10. 栈和队列详解(C语言)