Android9编程五:Layout资源

栏目: Android · 发布时间: 4年前

内容简介:上一篇:Layout的意思是界面布局,靠它来设计界面的布局,所以layout类型的资源文件就是界面定义文件。使用Android Studio提供的界面构建器设计Layout,可以做到所见即所得。让我们改一下这个Layout,显示一个图片吧。

上一篇: Android9编程四:虚拟机加速

什么是Layout

Layout的意思是界面布局,靠它来设计界面的布局,所以layout类型的资源文件就是界面定义文件。使用Android Studio提供的界面构建器设计Layout,可以做到所见即所得。

Android中的UI定义文件是一个XML文件,由于它不是 Java 代码,所以它被归为资源。Layout资源放在哪里呢? 看下图:

Android9编程五:Layout资源

可以看到res/layout组下当前只有一个文件:activity_main.xml,就是它定义了我们所能看到的界面。它是我们创建这个APP时被自动添加的,我们也可以手动添加它。双击打开它,可以看到如下画面(注意第一次显示UI的过程可能比较长,请耐心等待):

Android9编程五:Layout资源

这里展示的是界面设计器。在这个窗口中可以通过拖动一些控件摆放它们的位置来设计App的页面。标号所示区域作用如下:

  1. 控件类别;
  2. 选中类别的控件列表;
  3. 所设计的页面中的控件树;
  4. 切换页面设计器视图,可选择设计视图或源码视图,Desgin是设计,就是当前看到的,Text是源码,就是此页面所对应的XML的内容;
  5. 页面预览图。注意可能与App实际运行效果有些许差异;
  6. 页面排版预览图。突出显示各控件之间的摆放位置和它们之间的位置关系;
  7. 此图标有下拉菜单,用于选择如何预览界面,有三种模式:同时显示预览图与排版图、只显示排版图,只显示预览图;

可以看到标号5处是一个手机页面的预览图。这个layout文件定义了一个页面的界面,一个页面叫做Activity。但是,在预览时你也有可能不幸看到的是这样的画面:

Android9编程五:Layout资源

预览不成功。Rendering Problems的意思是“呈现时的问题”,就是呈现UI时遇到了问题。要解决这个问题,一般重新编译重个工程即可。如下操作:

Android9编程五:Layout资源

当Make完之后,就能看到UI的样子。

改动Layout

让我们改一下这个Layout,显示一个图片吧。

首先看一下AndroidStudio的界面设计器中为我们提供了哪些可用的控件:

Android9编程五:Layout资源

控件的类别有:

  • Common:一些最常用的控件;
  • Text:文本显示控件和各种文本输入控件,它们都不能容纳孩子;
  • Buttons:各种按钮;
  • Wedgets:包含各种不好分类的控件,它们的共同特点是不能容纳孩子。
  • Layouts:专门用于排版的控件们,它们是容器,专用于容纳孩子们,按某种规则排列它的孩子们。
  • Containers:容器,与Layout,专门于用容纳孩子们,支持内容滚动,孩子们的排列方式固定,不能更改。
  • Google:Google为Android提供的第三方控件,比如Google的广告控件,Google地图控件。
  • Legacy:旧控件们,有了新的替代控件。
  • Project:我们在项目中自定义的控件们。

要显示图像,应该去Common或Widgets组中去找控件。如下图:

Android9编程五:Layout资源

选择“ImageView(图像视图)”这个控件,然后把它拖到了预览页面的内容区。当你放开鼠标时,Android Studio就会打开一个窗口,让你选择要在这个图像控件中显示的图像(第一次运行可能要等很长很长时间):

Android9编程五:Layout资源

最左边为类别,有“Drawable”和“Color”,分别表示图像和和颜色。你要选择“Drawable”,右边显示的都是可用的图像资源(就是图片文件)。这些Drawable资源又被分为“Project”和“Android”两组,Project表示我们工程中带的资源,android表示Andriod SDK中带的资源。随你便,选什么都行,比如我选Project中的第一个:ic_launcher,点OK后就可以看到预览界面中多了一个图像:

Android9编程五:Layout资源

图像有点小,你可能想把这个图像调大一点,怎么做呢? 图像控件默认是以显示的图像的真实大小来决定自身的大小,也就是控件适应图像,但也可以反过来,让图像适应控件,此时我们应该为图像控件指定固定的大小,然后让图像跟据图像控件自动缩放。要做到此效果,只需要修改图像控件的“layout_width”(宽度)和“layout_height”(高度)属性。要想修改控件属性,需打开属性栏,见下图:

Android9编程五:Layout资源

红箭头所指就是属性栏开关,点它打开属性栏,如下图:

Android9编程五:Layout资源

红框内就是属性栏,你可能看到的内容跟我的不一样,是因为你当前选中的控件跟我的不一样,当你在预览窗口或控件树中选中图像控件,就看到跟我一样的内容了。

可以看到当前layout_width和layout_height的值都是“wrap_content(包着内容)”,所以控件的大小由其内容(就是图像)决定。现在让我们把这两个值改为固定的大小,比如宽和高都改为“200dp”,效果如下图:

Android9编程五:Layout资源

看到了吧? 图像被我们搞大了!

有人可能注意到了表示距离的数字后要带“dp”,是的,必须带它,它是一个距离单位,表示的是实际的物理距离,与像素大小无关。

注意!!
属性栏中显示的属性是随着你选择的控件而变化的,你可以点“Hello World!”这个文本控件试试,是不是显示的属性变了? 所以你在编辑属性之前要先确定点的是哪个控件,因为经常发生点错的情况。
要知后事如何,下次分解。

(摘自《Android9编程通俗演义》,京东淘宝及各大书店有售)


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web开发敏捷之道

Web开发敏捷之道

Sam Ruby、Dave Thomas、David Heineme Hansson / 慕尼黑Isar工作组、骆古道 / 机械工业出版社 / 2012-3-15 / 59.00元

本书第1版曾荣获Jolt大奖“最佳技术图书”奖。在前3版的内容架构基础上,第4版增加了关于Rails中新特性和最佳实践的内容。本书从逐步创建一个真正的应用程序开始,然后介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言的知识;第二部分用迭代方式创建应用程序,然后依据敏捷开发模式搭建测试案例,最终用Capistrano完成......一起来看看 《Web开发敏捷之道》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具