logo头像

小玉的技术博客

安卓初级开发之创建简单页面

前言

Android 的图形用户界面由多个视图(View)和视图组(ViewGroup)构建而成。View是通用的UI窗体小组件,如:按钮(Button)、文本框(Text field);而ViewGroup则是用来定义子视图布局的不可见的容器,如:网格部件(grid)、垂直列表部件(vertical list)。
Android提供了一系列对应于View和ViewGroup子类的XML标签,以便我们用XML创建自己的UI。
Layouts是ViewGroup的子类。

做一个简单的登录页面

1.在 Android Studio 中,从 res/layout 目录打开content_my.xml 文件。
2.删除 [] 标签。
3.添加一个文本输入框 EditText,并设置 id 属性为 @+id/edit_message
4.设置 layout_width 和 layout_height 属性为 wrap_content。
5.设置 hint 属性为一个名为 edit_message 的字符串。

##属性说明
android:id
这是视图的唯一标识符。可以在程序代码中通过该标识符引用对象。例如对这个对象进行读和修改的操作(在下一课里将会用到)。
当需要从 XML 里引用资源对象时,必须使用 @ 符号。紧随 @ 之后的是资源的类型(这里是 id),然后是资源的名字(这里使用的是 edit_username)。
android:layout_widthandroid:layout_height
不建议指定宽度和高度的具体尺寸,应使用 “wrap_content”。因为这样可以保证视图只占据内容大小的空间。如果你使用了 “match_parent”,这时 EditText 将会布满整个屏幕,因为它将适应父布局的大小。参见布局向导
android:hint
当文本框为空的时候,会默认显示这个字符串。对于字符串 “@string/edit_message” 的值所引用的资源应该定义在单独的文件里,而不是直接使用字符串。因为使用的值是存在的资源,所以不需要使用 + 号。当然,由于你现在还没有定义字符串,所以在添加 @string/edit_message 的时候会出现编译错误。在下一节的教程中你将学会如何定义字符串资源,到时候就不会报错了。
资源对象
资源对象是与 APP 资源(如:位图、布局文件、字符串)关联的唯一整数。
在项目文件 gen/R.java 中,每个资源都有一个与之对应的资源对象。你可以使用 R 类中的对象名称代指资源(如:在指定 android:hint 属性时需要的字符串)。同时,也可以通过 android:id 属性随时为 View 创建资源 ID,以便在代码中引用这个 View。
每次编译 APP 时,SDK 工具都会生成 R.java 文件。所以,请永远不要修改这个文件。
参阅资源配备

增加字符串资源

默认情况下,你的 Android 项目包含一个字符串资源文件,即 res/values/string.xml。打开这个文件,为 “edit_username” 增加一个定义,其值为“请输入用户名”。
在 Android Studio 里,编辑 res/values 下的 strings.xml 文件。
1.添加一个名为 “edit_username” 的字符串,值为“请输入用户名”。
2.再添加一个名为 “button_login” 的字符串,值为“登录”。
3.下一节中将使用这个字符串创建按钮。
下边就是修改好的 res/values/strings.xml:

1
2
3
4
5
6
7
<resources>
<string name="app_name">My Application</string>
<string name="action_settings">Settings</string>
<string name="edit_login" />
<string name="edit_username">请输入用户名</string>
<string name="button_login">登录</string>>
</resources>

当你在用户界面定义一个文本时,应该把每一个文本字符串列入资源文件。这样做的好处是:对于所有字符串值,字符串资源能够单独的修改,在资源文件里你可以很容易的找到并且做出相应的修改。通过选择定义每个字符串,还允许你用不同语言本地化 APP。

更多关于不同语言本字符串资源本地化的问题,请参考兼容不同的设备

支付宝打赏 微信打赏

赞赏是不耍流氓的鼓励