Android四大组件之Activity(活动)及其布局的建立与加载布局

Android四大组件之Activity(活动)及其布局的建立与加载布局java

什么是Activity ?android

  活动(Activity)是包含用户界面的组件,主要用于和用户进行交互的,一个应用程序中能够包含零个或多个活动.编辑器

 

手动建立Activity的过程详解布局

  到如今为止,你尚未手动建立过活动呢,在第一个安卓工程中,HelloWorldActivity是ADT帮咱们建立的,手动建立活动能够加深咱们的理解,所以如今是时候应该本身动手了.spa

     首先,你须要再新建一个 Android 项目,项目名能够叫作 ActivityTest,包名咱们就使用 默认值 com.example.activitytest。由于是本身手动建立Activity因此咱们在建立Android项目时,不须要再勾选Create activity这一项,且它默认是打勾的设计

      

点击 Finish,项目就建立完成了,还有一点须要注意的是咱们在操做当前项目的时候,建议把其余的安卓项目关闭code

仅打开当前工做所须要的项目,否则我 保证之后你会在这方面吃亏xml

 

手动建立Activityblog

       目前 ActivityTest 项目的 src 目录应该是空的,你应该在 src 目录下先添加一个包。点击 Eclipse 导航栏中的 File→New→Package,在弹出窗口中填入咱们新建项目时使用的默认包名 com.example.activitytest,点击 Finish。继承

  

  

      如今右击 com.example.activitytest 包→New→Class,会弹出新建类的对话框,咱们新建 一个名为 FirstActivity 的类,并让它继承自 Activity,点击 Finish 完成建立,你须要知道,项目中的任何活动都应该重写 Activity 的 onCreate()方法

  

到这里咱们就已经把Activity建立好了

 

下面咱们来讲说布局的建立与加载

  Android 程序的设计讲究逻辑和视图分离,最好每个活动都能对应一 个布局,布局就是用来显示界面内容的,所以咱们如今就来手动建立一个布局文件。 右击 res/layout 目录→New→Android XML Layout File,会弹出建立布局文件的窗口。咱们给这 个布局文件命名为 first_layout,根元素就默认选择为 LinearLayout

  

  

  点击 Finish 完成布局的建立,以下图

  

  这是 ADT 为咱们提供的可视化布局编辑器,你能够在屏幕的中央区域预览当前的布局。 在窗口的最下方有两个切换卡,左边是 Graphical Layout,右边是 first_layout.xml。Graphical Layout 是当前的可视化布局编辑器,在这里你不只能够预览当前的布局,还能够经过拖拽的 方式编辑布局。而 first_layout.xml 则是经过 XML 文件的方式来编辑布局,如今点击一下 first_layout.xml 切换卡,能够看到以下代码:

    

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    

</LinearLayout>

 

因为咱们刚才在建立布局文件时选择了 LinearLayout 做为根元素,所以如今布局文件中 已经有一个 LinearLayout 元素了。那咱们如今对这个布局稍作编辑,添加一个按钮

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <Button  8         android:id="@+id/button1"
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:text="Button" />
12 
13 </LinearLayout>

      这里添加了一个 Button 元素,并在 Button 元素的内部增长了几个属性。android:id 是给 当前的元素定义一个惟一标识符,以后能够在代码中对这个元素进行操做.

若是你须要在 XML 中引用一个 id,就使用@id/id_name 这种语法,而若是你须要在 XML 中 定义一个 id,则要使用@+id/id_name 这种语法。随后 android:layout_width 指定了当前元素 的宽度,这里使用 match_parent 表示让当前元素和父元素同样宽。android:layout_height 指定 了当前元素的高度,这里使用 wrap_content,表示当前元素的高度只要能恰好包含里面的内 容就行。android:text 指定了元素中显示的文字内容

如今按钮已 经添加完了,你能够点回 Graphical Layout 切换卡,预览一下当前布局

能够在中央的预览区域看到,按钮已经成功显示出来了,这样一个简单的布局就编写完 成了。那么接下来咱们要作的,就是在活动中加载这个布局。

 

加载布局

  

能够看到,这里调用了 setContentView()方法来给当前的活动加载一个布局,而在 setContentView()方法中,咱们通常都会传入一个布局文件的 id。

项目中添加的任何资源都会在 R 文件中生成一个相应的资源 id,所以咱们刚 才建立的 first_layout.xml 布局的 id 如今应该是已经添加到 R 文件中了。

 

 在 AndroidManifest 文件中注册

  全部的活动都要在 AndroidManifest.xml 中进行注册才能生效,那 么咱们如今就打开 AndroidManifest.xml 来给 FirstActivity 注册吧

  

  能够看到,活动的注册声明要放在标签内,这里是经过标签来对 活动进行注册的。首先咱们要使用 android:name 来指定具体注册哪个活动,那么这里填入 的.FirstActivity 是什么意思呢?其实这不过就是 com.example.activitytest.FirstActivity 的缩写 而已 。因为最 外层的 标签 中已经通 过 package 属性 指定了程 序的包 名是 com.example.activitytest,所以在注册活动时这一部分就能够省略了,直接使用.FirstActivity 就足够了。而后咱们使用了 android:label 指定活动中标题栏的内容,标题栏是显示在活动最 顶部的,待会儿运行的时候你就会看到,在<activity>标签内加入了<intent-filter>标签,并在里面添加了

<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>

这两句声明,表示若是你想让 FirstActivity 做为咱们这个程序的 主活动,即点击桌面应用程序图标时首先打开的就是这个活动,那就必定要加入这两句声明。 另外须要注意,若是你的应用程序中没有声明任何一个活动做为主活动,这个程序仍然是可 以正常安装的,只是你没法在启动器中看到或者打开这个程序,下面咱们看看运行的结果

在界面的最顶部是一个标题栏,里面显示着咱们刚才在注册活动时指定的内容。标题栏 的下面就是在布局文件 first_layout.xml 中编写的界面,能够看到咱们刚刚定义的按钮

相关文章
相关标签/搜索