android学习第一天
通过一天的Android学习,了解了Android的一些基本控件的使用和一些布局方式,单击事件和事件处理方式。
应用今天所学的知识,我模拟开发出Android游戏登录界面,使用相对布局,应用了button,textview,editview,
checkbox,spinner
首先是游戏的开始页面
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/fengmian"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:id="@+id/into"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/into" />
</RelativeLayout>
软件的首页比较简单,只有一张背景图片和 一个button,点击“马上进入”可以跳转至登录界面
java代码比较简单,主要就是一个activity的跳转
package com.example.we;
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.Button;
public class MainActivity extends Activity {
private Button login;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
login=(Button)findViewById(R.id.into);
//单击跳转事件
login.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
//intent
Intent intent=new Intent();
intent.setClass(MainActivity.this,Login.class);
MainActivity.this.startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
登录界面主要就是账号和密码的输入,还有一个是否显示密码,即选择可以显示出密码,否则密码是被加密无法查看的,还有一个下拉框,用于模拟选择游戏服,下面是这个界面的xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/editText1"
android:layout_alignLeft="@+id/textView1"
android:text="@string/zhanghao" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/qufu"
android:layout_alignLeft="@+id/editText2"
android:layout_marginBottom="38dp"
android:text="@string/xuanze" />
<Button
android:id="@+id/login"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/qufu"
android:layout_centerHorizontal="true"
android:layout_marginTop="25dp"
android:text="@string/login" />
<CheckBox
android:id="@+id/xianshi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/editText2"
android:layout_alignRight="@+id/editText2"
android:text="@string/xianshi" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/xianshi"
android:layout_alignBottom="@+id/xianshi"
android:layout_alignLeft="@+id/editText2"
android:text="@string/mima" />
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/textView2"
android:layout_alignParentLeft="true"
android:ems="10"
android:password="true" />
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/xianshi"
android:layout_alignParentLeft="true"
android:ems="10" >
<requestFocus />
</EditText>
<Spinner
android:id="@+id/qufu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_centerVertical="true"
android:entries="@array/qufu" />
</RelativeLayout>登录界面的java实现代码
package com.example.we;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
public class Login extends Activity {
//一些控件的变量和string
private Spinner qufu;
private CheckBox show;
private EditText password;
private EditText zhanghu;
private Button login;
private String str;
private String user;
private String pas;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
//根据xml上的id定位控件
qufu=(Spinner)findViewById(R.id.qufu);
zhanghu=(EditText)findViewById(R.id.editText1);
password=(EditText)findViewById(R.id.editText2);
show=(CheckBox)findViewById(R.id.xianshi);
login=(Button)findViewById(R.id.login);
qufu.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
//拿到被选择项的值
str = (String) qufu.getSelectedItem();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
//单击事件
login.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v)
{
//获取账号和密码
user=(String)zhanghu.getText().toString();
pas=(String)password.getText().toString();
Intent intent=new Intent();
//通过intent传值,把账号密码和游戏服传给下一个activity,用于在下一个activity上打印
intent.putExtra("zhanghu",user);
intent.putExtra("password",pas);
intent.putExtra("qufu", str);
intent.setClass(Login.this,InformationActivity.class);
Login.this.startActivity(intent);
}
});
//CheckBox,选中则显示密码,否则加密
show.setOnClickListener(new OnClickListener(){
public void onClick(View v){
if(show.isChecked()){
Login.this.password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
}
else{ Login.this.password.setTransformationMethod(PasswordTransformationMethod.getInstance());
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.login, menu);
return true;
}
}当未选择显示密码时,密码是属于被加密状态的,无法查看
当选择显示密码时,密码可以显示出来
游戏服的选择用spinner组件实现 
点击login可以跳转到另一个activity,并将账号,密码,游戏区服打印到下一个activity的界面上
这个界面也比较简单,就只有3个textview组件,用于显示游戏区服和账号密码,下面是它的xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="25dp"
android:layout_marginTop="17dp"
android:text=" " />
<TextView
android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/user"
android:layout_below="@+id/user"
android:layout_marginTop="55dp"
android:text=" " />
<TextView
android:id="@+id/qufu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/into"
android:layout_alignLeft="@+id/password"
android:layout_marginBottom="54dp"
android:text=" " />
</RelativeLayout>最后是java的实现代码
package com.example.we;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
public class InformationActivity extends Activity {
private TextView user;
private TextView qufu;
private TextView password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.information);
//定位组件的ID
user=(TextView)findViewById(R.id.user);
qufu=(TextView)findViewById(R.id.qufu);
password=(TextView)findViewById(R.id.password);
Intent intent = getIntent();
//通过键值对获取intent传入的值,并将其打印在activity上
user.setText("账号:"+intent.getStringExtra("zhanghu"));
qufu.setText("游戏区服:"+intent.getStringExtra("qufu"));
password.setText("密码:"+intent.getStringExtra("password"));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.information, menu);
return true;
}
} 相关推荐
xfcyhades 2020-11-20
Michael 2020-11-03
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28