个人安卓学习笔记---初学Activityの简单布局切换
2014-07-09 09:42
656 查看
Activity到底是什么怎么用,到现在感觉心里还是没底的,说不太清楚,看文档的时候发现一大堆方法,这里我只写了简单布局的切换,至于以后Activity的用法方法,我会慢慢学习的。
[java] view
plaincopyprint?
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(
4000
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();
}
}
[java] view
plaincopyprint?
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);
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();
}
});
}
}
下面我分别写了两个xml文件,每个xml中分别放置了两个button,分别为button1和button2,在这里就不写了,我们将要实现的效果是当点击第一个Activity里面的button时切换到第2个Activity,当点击到第2个Activity里的button时,切换到第一个Activity。
如图:
第一个Activity:
[java] view
plaincopyprint?
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:
[java] view
plaincopyprint?
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);
}
});
}
}
1、什么是activity
Activity是一种互动的界面,一个界面可能有多个Activity组成。2、演示activity的键盘及触摸事件
下面演示的是一个当键盘按下布局切换,键盘弹出布局切换的一个效果,已经触摸事件的掩饰Info信息plaincopyprint?
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(
4000
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直接的方法互相调用,从而实现两个界面的切换。plaincopyprint?
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);
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:
[java] view
plaincopyprint?
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:
[java] view
plaincopyprint?
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);
}
});
}
}
相关文章推荐
- 个人安卓学习笔记---初学Activityの简单布局切换
- 个人安卓学习----初学Activityの生命周期
- 个人安卓学习笔记---Android布局大总结(一)
- 安卓手机卫士学习笔记系列——两个Activity之间切换动画效果overridependingtransition的使用
- android开发学习笔记(9)Intent之在两个Activity之间切换
- 个人安卓学习笔记---java.io.IOException: Unable to open sync connection!
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(3)-调试手段和方法
- php 简单的邮箱验证 (个人学习笔记)
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(2)-可加载执行其他程序的bootloader
- 安卓学习笔记之Activity常用方法
- 安卓个人学习笔记---使用URL访问网络资源
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(4)-向现存写数据并响应时钟中断
- 安卓个人学习笔记---利用服务实现电话监听
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(5)-实现三个任务切换
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(1)-实现一个简单的bootloader
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(5)-实现三个任务切换
- 个人安卓学习笔记---Android模拟打电话程序实现
- 个人安卓学习----ActivityのMenu菜单
- 安卓个人学习------UI布局组件学习与整理简析
- linux0.11学习笔记-技术铺垫-简单AB任务切换程序(3)-调试手段和方法