resource:https://developer.android.google.cn/training/basics/firstapp/building-ui.html#LinearLayout
目标:创建一个xml格式的Linearlayout布局
以 XML 格式(而不是运行时代码的方式)声明 UI 布局有若干用处,其中最重要的用处是,可以创建不同的布局来适应不同的屏幕尺寸。 例如,可以创建两个版本的布局,并指示系统在“小”屏幕上使用哪个版本,在“大”屏幕上使用哪个版本。 (横屏、竖屏)
LinearLayout
是一个视图组(ViewGroup
的子类),它会按照 android:orientation
属性的指定,将子视图设置为垂直或水平方向布局。LinearLayout
的每个子视图都会按照它们各自在 XML 中的出现顺序显示在屏幕上。
一、常用控件及属性
(1)TextView:显示文本框控件
常用属性:
android:id——控件的ID
这会为视图赋予唯一的标识符,您可以使用该标识符从应用代码中引用对象,例如读取和操作对象。
从 XML 引用任何资源对象时,都需要使用 @
符号。 请在该符号后依次输入资源类型(本例中为 id
)、斜杠和资源名称 (edit_message
)。只有在第一次定义资源 ID 时,才需要在资源类型之前加一个加号 (+
)。 当您编译应用时,SDK 工具会使用 ID 名称在项目的 R.java
文件中新建一个引用 EditText
元素的资源 ID。一旦以此方式声明资源 ID,其他对该 ID 的引用皆无需使用加号。 只有在指定新资源 ID 时才必须使用加号,对于字符串或布局等具体资源则不必如此。
android:layout_width——控件的宽度
下有三种选项:wrap_content——随文本调整框的大小
fill_parent——宽度铺满整个页面宽度,匹配父linearlayout的大小
match_parent——同上 但是用于API版本2.3之后
android:layout_height——控件的高度。基本同上
android:layout_weight——用于指定视图和其他同级视图在剩余空间中的占比
W如果您将一个视图的 weight 值指定为 2,将另一个视图的 weight 值指定为 1,总和是 3,那么第一个视图将填满剩余空间的 2/3,而第二个视图则填满其余部分。 如果您添加了第三个视图,将其 weight 值指定为 1,那么现在第一个视图(weight 值为 2)将获得 1/2 的剩余空间,其余两个视图则各占 1/4。
所有视图的默认 weight 值都为 0,所以如果您仅将一个视图的 weight 值指定为大于 0,那么等到其他所有视图都获得所需空间后,该视图便会填满所有剩余空间。
原理:点击打开链接
建议:
1、使用时仅将需要铺满剩余空间的视图的weight值指定为大于0,其它均指定为0。具体理由见上连接
2、且将这个视图的width设置为0dp。若设置为wrap_parent还需计算它的宽度,而这个宽度毫无意义。
android:text——文本内容
android:textColor——文本颜色
使用RGB颜色。可使用工具:RGB颜色与16进制转换 注意不要漏掉#
android:textSize——文本大小
使用sp来设置。数字后面记得加上sp
android:background——控件背景
(2)EditText:输入文本框
除上述属性外常用属性还有:
android:hint——文本为空时的默认字符串
android:inputType——输入文本类型
(3)Button:按钮二、创建线性布局1、app>res>layout>activity_main.xml2、在布局编辑器中打开一个布局文件时,首先显示的是设计编辑器。点击窗口底部的text切换到文本编辑器。3、添加文本、按钮例如:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/edit_message" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" /></LinearLayout>三、添加字符串资源对于用户界面中的文本,务必将每个字符串都指定为资源。 字符串资源允许您在单一位置管理所有 UI 文本,从而简化文本的查找和更新。 此外,将字符串外部化还可让您为每个字符串资源提供替代定义,从而将您的应用本地化为不同的语言。1、app>res>value>string.xml2、添加字符串例如:<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">My First App</string> <string name="edit_message">Enter a message</string> <string name="button_send">Send</string></resources>
新闻热点
疑难解答