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; } }
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 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