首先打开安卓的ADT软件
创建一个项目(步骤如下图所示)
并取名为Day08(首字母要大写,遵循代码规范)
打开我们创建的Day08 找到res-layoutbing并打开activity_main.xml文件(如下图所示)
打开之后下方会出现两个小按钮(左边的按钮为我们的代码视图,右边的为我们的编辑视图代码的区域)
下面开始正式进行我们的代码编辑
一.
1.在 activity_main.xml编辑我们 第一个页面,代码如下
(第一个页面类似于微信的初始进入页面)
插入图片代码:android:background="@drawable/引入照片的名字"( *** 作流程如下)
在桌面上找到你需要插入的照片并把照片名改成英文(必须),在项目中找到res文件打开,找到第一个文件夹drawable-hdpi,讲照片直接拉进去点击OK
2.找到与activity_main.xml文件对应的Java代码并对这个页面进行定义
代码如下:
2.1定义要求:在此界面停留三秒跳转到下一个界面
对onCreate方法进行重写
1.new一个Thread类
2.定义一个子线程,并在run方法里面将报红的
Thread.sleep(3000);转化成 try catch形式
3. 开启新的activity页面
4.启动这个子线程
package com.example.day08;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.support.v4.app.ShareCompat.IntentBuilder;
import android.view.Menu;
import android.view.WindowManager;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 1.隐藏状态栏
// getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 2.隱藏标题栏
getActionBar().hide();
setContentView(R.layout.activity_main);
// 1.定义一个子线程
Thread t = new Thread(new Runnable() {
public void run() {
// 1.休眠3s
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 开启新的activity页面
Intent it = new Intent(getApplicationContext(),
LoginActivity.class);
startActivity(it);
}
});
// 2.启动这个子线程
t.start();
}
}
为了使视图更加美观可以使用这两个代码:
隐藏状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
隱藏标题栏
getActionBar().hide();
二.
现在新建一个Android文件并对页面进行编辑
第二个页面为Android页面
1.通过 线性布局
单选按钮
代码释意:
宽高必须的代码 : android:layout_width="" android:layout_height=""
android:orientation="vertical"(在线性布局中默认为垂直排布)
android:gravity="center"(居中 可以对比加了与不加代码前后的效果)
android:gravity="center_vertical|right"(垂直居中靠右)
android:orientation="horizontal"(水平排列)
android:id="@+id/et_username"(对按钮进行id命名,方便后面进行Java的定义id的控件)
布局 对页面的宽进行等分,使页面更加美观(高同理)
在drawable-hdpi文件中新建xml用来美化 边框线,边框颜色,背景颜色
2.找到与activity_login.xml文件对应的Java代码并对这个页面进行定义
1.定义所有id的控件(先定义这些控件方便下面书写)
// 1.定义所有id的控件
private EditText etUsername, etPwd;
private RadioButton rbM, rbW;
private CheckBox cb1, cb2, cb3, cb4;
private Button btnCommit, btnCancle;
Spinner spinner;
String[] str = null;
2.找到所有的控件(得创建一个init的类,不然会报错)
3.设置点击事件
使用适配器来进行 页面和数据的绑定
在此代码中先用android.R.layout.simple_spinner_item Ctrl右键打开 粘贴
ArrayAdapter
getApplicationContext(), android.R.layout.simple_spinner_item, str);
再在layout文件里面新创建一个叫item的xml,并把刚才复制的内容粘贴引用一下并可以添加背景颜色和文本颜色
将代码中的android.R.layout.simple_spinner_item替换成自己创建的R.layout.item
ArrayAdapter
getApplicationContext(), R.layout.item, str);
使用findViewById来转换
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().hide();
setContentView(R.layout.activity_login);
// 2.找到所有的控件
init();
// 添加下拉列表内容
str = new String[] { "移动215", "移动000", "222" };
// 使用适配器来进行 页面和数据的绑定
ArrayAdapter adapter = new ArrayAdapter(
getApplicationContext(), R.layout.item, str);
spinner.setAdapter(adapter);
// 3.设置点击事件
btnCommit.setOnClickListener(this);
}
private void init() {
etUsername = (EditText) findViewById(R.id.et_username);
etPwd = (EditText) findViewById(R.id.et_pwd);
rbM = (RadioButton) findViewById(R.id.rb_m);
rbW = (RadioButton) findViewById(R.id.rb_w);
cb1 = (CheckBox) findViewById(R.id.cb_1);
cb2 = (CheckBox) findViewById(R.id.cb_2);
cb3 = (CheckBox) findViewById(R.id.cb_3);
cb4 = (CheckBox) findViewById(R.id.cb_4);
btnCommit = (Button) findViewById(R.id.btn_commit);
btnCancle = (Button) findViewById(R.id.btn_border);
spinner = (Spinner) findViewById(R.id.sp_item);
}
4.获取用户名输入框内容
5.获取密码输入框
6.获取性别输入框
7.获取爱好多选内容
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// 4.获取用户名输入框内容
String userName = etUsername.getText().toString();
// 5获取密码输入框
String pwd = etPwd.getText().toString();
// 6.获取性别输入框
String sex = "";
if (rbM.isChecked()) {
sex = rbM.getText().toString();
}
if (rbW.isChecked()) {
sex = rbW.getText().toString();
}
// 7.获取爱好多选内容
String fav = "";
if (cb1.isChecked()) {
fav += cb1.getText().toString();
}
if (cb2.isChecked()) {
fav += cb2.getText().toString();
}
if (cb3.isChecked()) {
fav += cb3.getText().toString();
}
if (cb4.isChecked()) {
fav += cb4.getText().toString();
}
7.2 获取下来列表选中的内容
8.传值跳转
9.传递数据
// 7.2 获取下来列表选中的内容
int i = spinner.getSelectedItemPosition();
String spItem = str[i];
// 吐司验证
// Toast.makeText(getApplicationContext(), spItem, 1).show();
// 8.传值跳转
Intent it = new Intent(getApplicationContext(), SecondActivity.class);
// 9.传递数据
it.putExtra("a1", userName);
it.putExtra("a2", pwd);
it.putExtra("a3", sex);
it.putExtra("a4", fav);
it.putExtra("a5", spItem);
startActivity(it);
代码总览
package com.example.day08;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;
public class LoginActivity extends Activity implements OnClickListener {
// 1.定义所有id的控件
private EditText etUsername, etPwd;
private RadioButton rbM, rbW;
private CheckBox cb1, cb2, cb3, cb4;
private Button btnCommit, btnCancle;
Spinner spinner;
String[] str = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().hide();
setContentView(R.layout.activity_login);
// 2.找到所有的控件
init();
// 添加下拉列表内容
str = new String[] { "移动215", "移动000", "222" };
// 使用适配器来进行 页面和数据的绑定
ArrayAdapter adapter = new ArrayAdapter(
getApplicationContext(), R.layout.item, str);
spinner.setAdapter(adapter);
// 3.设置点击事件
btnCommit.setOnClickListener(this);
}
private void init() {
etUsername = (EditText) findViewById(R.id.et_username);
etPwd = (EditText) findViewById(R.id.et_pwd);
rbM = (RadioButton) findViewById(R.id.rb_m);
rbW = (RadioButton) findViewById(R.id.rb_w);
cb1 = (CheckBox) findViewById(R.id.cb_1);
cb2 = (CheckBox) findViewById(R.id.cb_2);
cb3 = (CheckBox) findViewById(R.id.cb_3);
cb4 = (CheckBox) findViewById(R.id.cb_4);
btnCommit = (Button) findViewById(R.id.btn_commit);
btnCancle = (Button) findViewById(R.id.btn_border);
spinner = (Spinner) findViewById(R.id.sp_item);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
// 4.获取用户名输入框内容
String userName = etUsername.getText().toString();
// 5获取密码输入框
String pwd = etPwd.getText().toString();
// 6.获取性别输入框
String sex = "";
if (rbM.isChecked()) {
sex = rbM.getText().toString();
}
if (rbW.isChecked()) {
sex = rbW.getText().toString();
}
// 7.获取爱好多选内容
String fav = "";
if (cb1.isChecked()) {
fav += cb1.getText().toString();
}
if (cb2.isChecked()) {
fav += cb2.getText().toString();
}
if (cb3.isChecked()) {
fav += cb3.getText().toString();
}
if (cb4.isChecked()) {
fav += cb4.getText().toString();
}
// 7.2 获取下来列表选中的内容
int i = spinner.getSelectedItemPosition();
String spItem = str[i];
// 吐司验证
// Toast.makeText(getApplicationContext(), spItem, 1).show();
// 8.传值跳转
Intent it = new Intent(getApplicationContext(), SecondActivity.class);
// 9.传递数据
it.putExtra("a1", userName);
it.putExtra("a2", pwd);
it.putExtra("a3", sex);
it.putExtra("a4", fav);
it.putExtra("a5", spItem);
startActivity(it);
}
}
三.
再次在src里面新创建一个Activity文件,获取上一个页面传过来的数据并显示
1.在src里面新创建的Activity文件会同步到layout里面的activity_新建名.xml进行编辑
改成线性布局,并在
2.新建的src中Java代码中进行编辑
1. 获取上一个页面传递过来的数据
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().hide();
setContentView(R.layout.activity_second);
//1. 获取上一个页面传递过来的数据
Intent it = getIntent();
String userName = it.getStringExtra("a1");
String pwd = it.getStringExtra("a2");
String sex = it.getStringExtra("a3");
String fav = it.getStringExtra("a4");
String item = it.getStringExtra("a5");
String str = userName + ":" + pwd + ":" + sex + ":" + fav+":"+item;
2. 显示这种数据(两种方法)
1:显示吐司
// 1:显示吐司
Toast.makeText(getApplicationContext(), str, 1);
2:文本框显示
// 2:文本框显示
TextView tvShow = (TextView) findViewById(R.id.tv_show);
tvShow.setText(str);
代码总览
package com.example.day08;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActionBar().hide();
setContentView(R.layout.activity_second);
//1. 获取上一个页面传递过来的数据
Intent it = getIntent();
String userName = it.getStringExtra("a1");
String pwd = it.getStringExtra("a2");
String sex = it.getStringExtra("a3");
String fav = it.getStringExtra("a4");
String item = it.getStringExtra("a5");
String str = userName + ":" + pwd + ":" + sex + ":" + fav+":"+item;
//2. 显示这种数据
// 1:显示土司
Toast.makeText(getApplicationContext(), str, 1);
// 2:文本框显示
TextView tvShow = (TextView) findViewById(R.id.tv_show);
tvShow.setText(str);
}
}
三个页面跳转已完成,打开模拟机看看效果确认代码是否能运行!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)