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;
	}

}

猜你喜欢

转载自1468557178.iteye.com/blog/2381932