您的位置:首页 > 移动开发 > Android开发

android应用开发之Activity的简单布局切换

2011-12-11 19:57 525 查看
Activity到底是什么怎么用,到现在感觉心里还是没底的,说不太清楚,看文档的时候发现一大堆方法,这里我只写了简单布局的切换,至于以后Activity的用法方法,我会慢慢学习的。


1、什么是activity

Activity是一种互动的界面,一个界面可能有多个Activity组成。


2、演示activity的键盘及触摸事件

下面演示的是一个当键盘按下布局切换,键盘弹出布局切换的一个效果,已经触摸事件的掩饰Info信息



view
plain

public class ActivityTestActivity extends Activity {

/** Called when the activity is first created. */

private final static String TAG="myTag";

boolean flag = true;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if(flag){

this.setContentView(R.layout.second);

}else{

this.setContentView(R.layout.main);

}

Log.i(TAG, "onkeydown");

showInfo("keydown"+keyCode);

return super.onKeyDown(keyCode, event);

}

@Override

public boolean onKeyUp(int keyCode, KeyEvent event) {

flag = !flag;

Log.i(TAG, "onkeyUp");

showInfo("keyup"+keyCode);

return super.onKeyUp(keyCode, event);

}

@Override

public boolean onTouchEvent(MotionEvent event) {

Log.i(TAG, "onTouchEvent");

showInfo("keytouch"+event.getX()+" "+event.getY());

return super.onTouchEvent(event);

}

public void showInfo(String info){

Toast.makeText(this, info, Toast.LENGTH_SHORT).show();

}

}


3、实现一个activity中多个布局页面的切换


a、利用按钮实现

通过给button添加事件监听器onClickListener,是button直接的方法互相调用,从而实现两个界面的切换。



view
plain

package cn.csdn.hb;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class Change extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button btn1 = (Button) findViewById(R.id.button1);

btn1.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

Button1();

}

});

}

public void Button1() {

setContentView(R.layout.second);

Button btn2 = (Button) findViewById(R.id.button2);

btn2.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

Button2();

}

});

}

public void Button2() {

setContentView(R.layout.main);

Button b1 = (Button) findViewById(R.id.button1);

b1.setOnClickListener(new Button.OnClickListener() {

public void onClick(View v) {

Button1();

}

});

}

}


b、利用键盘或触摸实现




4、不同activity间的切换

如果想使两个Activity切换,那么肯定要使用我们具有桥梁作用的Intent



下面我分别写了两个xml文件,每个xml中分别放置了两个button,分别为button1和button2,在这里就不写了,我们将要实现的效果是当点击第一个Activity里面的button时切换到第2个Activity,当点击到第2个Activity里的button时,切换到第一个Activity。

如图:





第一个Activity:

view
plain

public class ActivityTestActivity extends Activity {

/** Called when the activity is first created. */

private final static String TAG="myTag";

boolean flag = true;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button bn = (Button)findViewById(R.id.button1);

bn.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

//创建启动的Activity对应的Intent

Intent intent =new Intent(ActivityTestActivity.this,SecondActivity.class);

//动intent对应的Activity

startActivity(intent);

}

});

}

第二个Activity:

view
plain

package song.activity;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

public class SecondActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.second);

Button bn2 = (Button)findViewById(R.id.button2);

bn2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = new Intent(SecondActivity.this,ActivityTestActivity.class);

startActivity(intent);

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐