`
fddong123456
  • 浏览: 6713 次
社区版块
存档分类
最新评论

Activity的生命周期、页面跳转、主题风格设置

 
阅读更多

Activity是Android组件中最重要的组成部分。一个Activity就是用户看到的一个

 

 屏幕界面,可以在上面添加各种控件、菜单等。一个工程里可以有多个Activity,

 

 要实现界面的跳转,就要从内部实现从一个Activity跳转到另一个Activity,实现

 

 跳转主要是创建一个Intent对象连接这两个Activity,然后启动跳转,例如:    

       Intent intent = new Intent(FirstActivity,SecondActivity.class);
        startActivity(intent);

 

这样就实现了从第一个界面跳转到第二个界面。

 

 

 

       在实现从第一个界面跳转到第二个界面后,当按下Back按钮时,又回到第一个

 

界面,这说明从第一个界面跳转到第二个界面的时候第一个界面还没有被销毁,而是

 

于休眠状体。在Activity的生命周期中主要是执行onCreate()、onStart()、

 

onResume()、onRestart()、onPause()、onStop()和onDestroy()这七个方法。

 

 

 

           第一个Activity界面

 

package com.example.FirstActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		System.out.println("第一个Activity     onCreate  ");
	}
	
	@Override
	protected void onStart() {
		super.onStart();
		
		System.out.println("第一个Activity     onStart  ");
	}
	
	@Override
	protected void onRestart() {
		super.onRestart();
		
		System.out.println("第一个Activity     onRestart  ");
	}
	
	@Override
	protected void onPause() {
		super.onPause();
		
		System.out.println("第一个Activity     onPause  ");
	}
	
	@Override
	protected void onResume() {
		super.onResume();
		
		System.out.println("第一个Activity     onResume  ");
	}
	
	@Override
	protected void onStop() {
		super.onStop();
		
		System.out.println("第一个Activity     onStop  ");
	}
	
	@Override
	protected void onDestroy() {
		super.onDestroy();
		
		System.out.println("第一个Activity     onDestroy  ");
	}
	
	public void second(View v){
		//实现页面跳转
		Intent intent = new Intent(this,SecondAcitity.class);
		startActivity(intent);
		
	}


}

 

 

            第二个Activity界面

 

 

 

package com.example.FirstActivity;

import android.app.Activity;
import android.os.Bundle;

public class SecondAcitity extends Activity{
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.second);

		System.out.println("第二个Activity     onCreate  ");
		}
		
		@Override
		protected void onStart() {
			super.onStart();
			
			System.out.println("第二个Activity     onStart  ");
		}
		
		@Override
		protected void onRestart() {
			super.onRestart();
			
			System.out.println("第二个Activity     onRestart  ");
		}
		
		@Override
		protected void onPause() {
			super.onPause();
			
			System.out.println("第二个Activity     onPause  ");
		}
		
		@Override
		protected void onResume() {
			super.onResume();
			
			System.out.println("第二个Activity     onResume  ");
		}
		
		@Override
		protected void onStop() {
			super.onStop();
			
			System.out.println("第二个Activity     onStop  ");
		}
		
		@Override
		protected void onDestroy() {
			super.onDestroy();
			
			System.out.println("第二个Activity     onDestroy  ");
		}

}

 

     当程序运行时,根据输出结果可以看出,会先后执行onCreate()onStart()  

 

onResume()这三个方法。

 

 



  

 

  当从第一个界面调整转到第二个界面时,会先后执行onPause()、onCreate()、onStart()、

 

onResume()和onStop()这四个方法。

 



 

 

当按Break键时,会先后调用onPause()onRestart()onResume()onStop()onDestroy()方法。

 



 

 

      设置主题风格主要在res/values/styles.xml文件里面设置。例如:把第二个界面设置为对话

 

框的形式。

 



 

 

首先在 AndroidManifest.xml里面给第二个Activity单独设置一个主题,

 



 

 

       然后在res/values/styles.xml文件里面进行设置,在这里主要继承一个对话框的风格,对话框中的形式还可以根据需要在进行设置(我只是继承一个

 

话框的风格,里面的内容我没有做设置)。

 

 

 

 

 

 

 

 

 

 

 

  • 大小: 7.1 KB
  • 大小: 8.6 KB
  • 大小: 10.3 KB
  • 大小: 226.2 KB
  • 大小: 9.3 KB
  • 大小: 11.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics