入门:第一个App

这一节将学习LinearLayout、EditText、string资源、Button、weight属性的基本使用,以及使用intent启动Activity并传递值、在xml文件中定义oncliick事件并实现、不在xml而使用代码定义控件。

创建线性布局


建立新的project,建立完成后打开activity_main.xml。此 XML 文件定义 MainActivity 的布局。它包含默认的“Hello World”文本视图,删除所有内容并插入以下 XML:




LinearLayout 是一个视图组(ViewGroup 的子类),它会按照 android:orientation 属性的指定,将子视图设置为垂直或水平方向布局。LinearLayout 的每个子视图都会按照它们各自在 XML 中的出现顺序显示在屏幕上。

其他两个属性 android:layout_width 和 android:layout_height 则是所有视图的必备属性,用于指定它们的尺寸。

LinearLayout 是布局中的根视图,因此应将宽度和高度设置为 "match_parent",从而填满可供应用使用的整个屏幕区域。 该值表示视图应扩大其宽度或高度,以匹配父视图的宽度或高度

添加TextView


在 activity_main.xml 文件的 元素内,添加以下 元素:


    

  • android:id

这会为视图赋予唯一的标识符,您可以使用该标识符从应用代码中引用对象,例如读取和操作对象(
从 XML 引用任何资源对象时,都需要使用 @ 符号。 请在该符号后依次输入资源类型、斜杠和资源名称 (edit_message)。
只有在第一次定义资源 ID 时,才需要在资源类型之前加一个加号 (+)。 当您编译应用时,SDK 工具会使用 ID 名称在项目的 R.java 文件中新建一个引用 EditText 元素的资源 ID。一旦以此方式声明资源 ID,其他对该 ID 的引用皆无需使用加号。 只有在指定新资源 ID 时才必须使用加号,对于字符串或布局等具体资源则不必如此。

  • android:layout_width 和 android:layout_height

"wrap_content" 值并不规定宽度和高度的具体大小,而是指定根据需要缩放视图,使其适合视图的内容。 如果您要改用 "match_parent",则 EditText 元素将填满屏幕,因为它会匹配父 LinearLayout 的大小。

  • android:hint

这是文本字段为空时显示的默认字符串。"@string/edit_message" 并非使用硬编码字符串作为其值,而是引用另一个文件中定义的一个字符串资源。 由于它引用的是一个具体资源(而不仅仅是标识符),因此不需要加号。

添加字符串资源


在strings.xml 中添加两个新字符串。



    My First App
    Enter a message
    Send

对于用户界面中的文本,务必将每个字符串都指定为资源。 字符串资源允许您在单一位置管理所有 UI 文本,从而简化文本的查找和更新。 此外,将字符串外部化还可让您为每个字符串资源提供替代定义,从而将您的应用本地化为不同的语言。

添加按钮


返回到 activity_main.xml 文件并在 后添加一个按钮。


        
        

使输入框填满屏幕宽度


修改 ,使用 android:layout_weight 属性来指定占比,使EditText填满屏幕中除了Button的部分。


完整的 activity_main.xml 布局文件现在看上去应该像下面这样:



    
    

响应Send按钮


将 android:onClick 属性添加到

你可能感兴趣的:(入门:第一个App)