本次我做了一个用户登录的例子,大致实现的就是输入用户名和密码后点击确定按钮后弹出输入的用户名和密码。
打开res/layout/activity_main.xml设计视图,从左侧工具栏控件拉进去相应的空间,并给这些控件重新命名。页面上用户名和密码是用TextView控件,用户名和密码框用的是EditText控件,确定是Button控件。如图:
xml视图里可以看到这些控件的一些属性:
[Java] 纯文本查看 复制代码 <TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="30dp"
android:layout_marginTop="21dp"
android:text="用户名" />
<EditText
android:id="@+id/txtuname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView1"
android:layout_alignBottom="@+id/textView1"
android:layout_marginLeft="27dp"
android:layout_toRightOf="@+id/textView1"
android:ems="10"
android:inputType="textPersonName" >
<requestFocus />
</EditText>
<Button
android:id="@+id/btnOk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtuname"
android:layout_centerHorizontal="true"
android:layout_marginTop="113dp"
android:text="确定" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtuname"
android:layout_marginTop="35dp"
android:layout_toLeftOf="@+id/txtuname"
android:text="密码" />
<EditText
android:id="@+id/txtPwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView2"
android:layout_alignBottom="@+id/textView2"
android:layout_alignLeft="@+id/txtuname"
android:ems="10"
android:inputType="textPassword" />
其中@+id/后面就是我们自定义的控件id,我们可以直接在这个xml文件里面修改。
视图控件布局设置完成之后如图:
然后打开src目录下的MainActivit.java,在这个类里面写后台代码:
[Java] 纯文本查看 复制代码 package com.example.hellowordtest;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
EditText uname;
EditText pwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
uname=(EditText)this.findViewById(R.id.txtuname);//获取用户名控件实例
pwd=(EditText)this.findViewById(R.id.txtPwd);//获取密码控件实例
uname.setText("我的用户名!");//给用户控件自动赋一个值
Button btn=(Button)this.findViewById(R.id.btnOk);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String name=uname.getText().toString();//获取用户名
String pass=pwd.getText().toString();//获取输入的密码
String msg="用户名:"+name+",密码:"+pass;
Toast.makeText(MainActivity.this, msg,Toast.LENGTH_LONG).show();
}
});
}
@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;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
onCreate事件,我们从字面意思来看就是创建页面是发生的事件,在这里写我们的代码,我们通过R.id.控件id的方式去获取页面上的控件,然后可以SetText赋值,getText取值。这里用到一个方法给按钮控件添加点击方法,通过setOnClickListener来实现监视事件。在监视事件里通过Toast.makeText().show()方法来弹出提示信息,效果就如上图实现效果。
|