首页 > 学院 > 开发设计 > 正文

【】构建简单的用户界面

2019-11-06 09:50:59
字体:
来源:转载
供稿:网友

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>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表