Activty是Android中最常用的组件,是应用程序的表示层,Activity一般通过View来实现应用程序的用户界面,相当于一个屏幕,用户与程序的交往是通过该类实现的。
下面首先对Activity的生命周期进行介绍,正确地了解Activity的生命周期对开发出优秀的应用程序至关重要。
如下图所示,Activity的生命周期主要包含三个状态,各种状态之间的切换是通过各种回调方法实现的。
1.运行态(Running)
处于运行态的Activity拥有焦点,正在与用户进行交互,该状态的Activity可以为用户提供信息并接收用户的事件响应。
2.暂停态(Paused)
处于暂停态的Activity失去焦点,一般被运行态的Activity替代,当前台显示的Activity不是全屏时,可以见到暂停态的Activity。
3.停止态(Stopped)
处于停止态的Activity没有焦点,并且是不可见的,系统随时可以将其释放。
Activity的显示内容是由View对象提供的,View对象继承自View类,其中每个View对象管理屏幕中的一个矩形区域。Android已经自带了很多View对象,例如按钮、菜单、文本框等,而除了使用Android自带的View外,还可以自定义View。接下来的例子将介绍自定义View在Activity中的显示,步骤如下。
1)创建一个名为Android_Sample_2_5的Android项目。
2)在src/wyf/ytl目录下创建一个名为MyView的Java文件,代码如下所示。
第9行定义一个继承自View的类,而第11行声明了一个用于绘制的画笔。1: package wyf.ytl;
2:3: import android.content.Context;
4: import android.graphics.Canvas;
5: import android.graphics.Color;
6: import android.graphics.Paint;
7: import android.view.View;
8:9: public class MyView extends View{10:11: Paint paint;12: public MyView(Context context)
13: {14: super(context);
15: paint = new Paint();
16: paint.setColor(Color.WHITE);17: paint.setTextSize(20);18: paint.setAntiAlias(true);
19: }20:21: protected void onDraw(Canvas canvas)22: {23: super.onDraw(canvas);
24: canvas.drawColor(Color.GRAY);25: canvas.drawRect(10,10,110,110, paint);26: canvas.drawText("此界面为自定义的View", 60, 170, paint);
27: }28:29:30: }
第12~19行为该类的构造器,在构造器中初始化画笔,然后对画笔进行设置。
第21~27行重写View中的绘制方法,该方法主要用于View界面的绘制,在该方法中先绘制界面的背景颜色,然后绘制一个矩形,最后绘制一个字符串。
3)此时打开Android_Sample_2_5Activity.java,用下列代码替换原有代码。
1: package wyf.ytl;
2:3: import android.app.Activity;
4: import android.os.Bundle;
5:6: public class Android_Sample_2_5Activity extends Activity {7:8: MyView myView;9:10: @Override11: public void onCreate(Bundle savedInstanceState) {12: super.onCreate(savedInstanceState);
13: myView = new MyView(this);14:15: setContentView(myView);16: }17: }
4)运行该项目,将会看到如下图所示的效果。
作者:银月莲
出处:http://www.cnblogs.com/moonsilvering
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,包括文章,代码,图片等本站内所有资源,否则保留追究法律责任的权利。