紧接前一篇日记:

2.增加文本域

在<LinearLayout>中增加<EditText>元素,无格式设置的时候如下。

<EditText android:id="@+id/edit_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />

大致属性解释:

adroid:id

  表明在该界面中唯一的标识。在后台代码中可以通过引用这个标识,来读取或者操作这个对象。 

  @标记:在XML涉及任何资源对象时都必须添加该标记。在该标记的后面紧跟资源类型(在示例1中是id),斜线,资源名称(此处为edit_message)。

  +标记:只在第一次定义某资源ID的时候,需要写在资源类型前。当你编译程序的时候,SDK工具会自动在gen/R.java使用ID名在项目中新建一个资源ID指向EditText元素。当该元素申明过一次之后,在其他地方对该ID的引用就不再需要写上加号(+)标记了。使用加号标记时必须是在新建一个资源ID,并且不需要在一个具体资源(像String、layout等)上前添加。

  PS:

关于资源对象:
一个资源对象只是一个简单的与某个应用程序资源相关联唯一整数命名。(应用程序资源包括:位图、布局文件、文字等)。
每个资源都在gen/R.java文件中定义有相应的资源对象。你可以使用在R类中的对象名来引用你的资源,比如当你需要为anroid:hint 属性指定一个字符串值。
你也可以创建一个任意的ID值,用在视图的android:id属性上,就可以通过这个ID在其他的代码里调用这个视图了。 SDK工具会在你每次编译程序的时候自动生成的R.java。所以不应该去手动修改R.java的代码。
如果需要了解更多信息,可以查看Providing Resources.

android:layout_width android:layout_height

  "wrap_content" 不可以指定宽度和高度,只能按照输入内容进行自动调整,最大范围为该视图允许的内容范围。如果用"match_parent"代替的话,那么这个EditText

将会覆盖整个屏幕,因为它将和父级窗口整个LinearLayout一样大。关于布局的了解跟多的可以查看Layouts 指南。

android:hint

  为一个空的文本域设置默认字符串。在单独的文件中定义一个字符串值,并通过ID "@string/edit_message"去引用这个值,而不是使用硬编码。因为这是一个具体的资源,而不是某个定义,所以不需要写加号(+)。但你也必须定义一个字符串资源,目前会发现这个引用处于编译错误(红色下划线)的状态。你将会在下一部分教程中通过定义字符串解决这个问题。

NOTE:
此字符串资源使用了与EditText相同的名称作为元素的ID:edit_message。但是,引用资源范围是区分资源类型(如ID或字符串)的,所以使用相同的名称不会引起冲突。

3.Add String Resources(添加字符串资源)

  当需要在用户界面上增加文字时,应该把每一个字符串都指定为一个资源。字符串资源允许在一个单独的地方管理所有的界面文字,这样便可以更容易找到和更新这些文字。字符串的具体化还可以通过提供替代定义为每个字符串资源以不同的语言本地化您的应用程序。

  默认情况下,android工程字符串资源文件都在res/values/strings.xml.增加一个新的字符串命名"edit_message" ,设置值为"Enter a message"。现在你可以删除"Hello world "了。

  同时增加一个值为"Send" 命名为 "button_send"的字符串,你将会在后面使用。

  增加好后,strings.xml大概如下:

<?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>
<string name="action_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>

  要了解更多的关于为不同语言将应用进行本地化,可以查看Supporting Different Devices 。

4.Add Button(添加按钮)

  在布局中的EditText 元素后增加一个Button元素,

   <Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />

  高度和宽度设置为 "wrap_content"后,这个按钮就的大小将只是按钮文字显示所需要的大小。按钮也不需要anroid:id属性,因为它不会被操作代码引用。

5.Make the Input Box Fill in the Screen Width(调整输入框宽度充满整屏)

Android Day2的更多相关文章

  1. android开发学习——day2

    简单了解了android stdio的操作方式,今天着手于探究活动(Activity) 了解了基本活动与手动创建活动的方法,了解了onCreate()方法,了解了创建和加载页面布局(layout) 新 ...

  2. 安卓开发学习日记 DAY2——android项目文件

    当一个android项目建立时,会有一个目录,以下为目录所包含内容 src:放置java源代码 gen:基本不会做任何更改,放置自动生成的配置文件(主要是R文件) Android4.4.2:放置当前版 ...

  3. Android 笔记 day2 拨号器

  4. android开发时间和日期的代码实现工具类(一)

    android开发时间和日期工具类的代码实现: package com.gzcivil.utils; import android.annotation.SuppressLint; import an ...

  5. Android学习路径图

    一个PHPer转战Android学习过程: 直接跨过java的学习,原因有我之前看过毕向东和张孝祥的Java基础课程,虽然中间好几次看睡着,但java的环境是能跑起来的.我建议大家如果没有Java基础 ...

  6. PHPer转战Android的学习过程以及Android学习

    原文作者: eoeadmin原文地址: http://my.eoe.cn/shuhai/archive/19684.html-------------------------------------- ...

  7. Apha冲刺! Day2 - 砍柴

    Alpha冲刺! Day2 - 砍柴 今日已完成 晨瑶:没做和主项目相关的事情,除了教队友用gitkraken. 昭锡:学习LitePal对数据库进行操作. 永盛:切换 API 管理平台,继续撰写 A ...

  8. 「Android 开发」入门笔记

    「Android 开发」入门笔记(界面编程篇) ------每日摘要------ DAY-1: 学习笔记: Android应用结构分析 界面编程与视图(View)组件 布局管理器 问题整理: Andr ...

  9. Android SQLiteOpenHelper Sqlite数据库升级onUpgrade

    Android Sqlite数据库升级,在Android APP开发之中,非常常见: 在确定原来的数据库版本号之后,在原来数据库版本号+1,就会执行onUpgrade方法,进行数据库升级操作: 在on ...

随机推荐

  1. 解决pycharm启动慢

    xms -xmx相关参数设置 打开pycharm的安装目录 D:\PyCharm\PyCharm 2018.2.3\bin下文件pycharm.exe.vmoptions修改默认(版本2016.2)的 ...

  2. windows cmd命令 批处理bat 导增量jar包【原】

    下载地址 https://pan.baidu.com/s/1cIyCbG 导jar包 @echo off setlocal enabledelayedexpansion echo ---------- ...

  3. weblogic的基本概念

    1.Domain,Administration Server, Managed Server 域包含一个或多个 WebLogic Server 实例. Domain 中包含一个特殊的 WebLogic ...

  4. SQL结构化查询语句

    SQL结构化查询语句 SQL定义了查询所有关系型数据库的规则. 1.通用语法 SQL语句可以单行或者多行书写,以分号结尾 可以使用空格和缩进增强可读性 不区分大小写,但是关键字建议大写 3种注释 注释 ...

  5. 在py文件中设置文件头

    在写python文件的时候有时需要记录作者.创建时间等时间,因此可以给python文件设置文件头,这里以PyCharm为例介绍设置步骤: 1. 打开PyCharm,依次点击Setting-----Ed ...

  6. SQL Server进阶(七)集合运算

    概述 为什么使用集合运算: 在集合运算中比联接查询和EXISTS/NOT EXISTS更方便. 并集运算(UNION) 并集:两个集合的并集是一个包含集合A和B中所有元素的集合. 在T-SQL中.UN ...

  7. Div Height设置高度后不能自适应

    解决方法$("#div1").css("height", "");

  8. ext.net gridlist选择内部元素时自动选择所在行

    function changeSelection(id) { var index = 0; for (var i = 0; i < mcp_liststore.data.length; i++) ...

  9. WMware虚拟机中连接ios真机

    虚拟机中能看到IOS真机,但MAC OS看不到,进行如下设置虚拟机设置->USB控制器->USB兼容性->选择2.0

  10. Lua 函数链功能

    函数链 http://lua-users.org/wiki/FiltersSourcesAndSinks A chain is a function that combines the effect ...