作为一个准备崛起的程序媛,需要写点东西来时刻督促并巩固自己的学习!
本次做的是一个简单的用户登录界面,主要初步介绍控件的常用一二功能。那么在此先附上丑陋界面图。
![](/images/image/jiemian.png)
我们首先设计登录界面,如下代码是activity_main.xml:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Account:"
android:textSize="25sp"/>
<EditText
android:id="@+id/edt_account"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Password:"
android:textAllCaps="false"
android:textSize="24sp"/>
<EditText
android:id="@+id/edt_password"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="2"
android:inputType="textPassword"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btn_login"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="登录"/>
<Button
android:id="@+id/btn_clean"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="清除"/>
</LinearLayout>
</LinearLayout>
登录界面有了,我们继续对登录界面中的控件进行功能的添加,其中使用了:
1.EditText的getText()方法,用于获取用户所输入的内容,而setText()方法,用于设置EditText中的值。
2.为Button的点击事件注册一个监听器,每当用户单击按钮时,执行监听器中的onClick()方法。
3.Intent的跳转事件,首先创建一个Intent实例,需要传入俩个参数,第一个参数为context即一个启动活动上下文,第二个参数为Class即指定想要启动的活动。而Intent也可以传值,使用Intent.putExtra()方法,通过键值对的方式进行传值,第一个参数为键值,第二个参数为对应的值。(我们默认设置登录帐号为:shanks 密码为:123456)
MainActivity的代码如下:
public class MainActivity extends AppCompatActivity {
Button btn_login,btn_clean;
EditText edt_account, edt_password;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
edt_account = (EditText) findViewById(R.id.edt_account);
edt_password = (EditText) findViewById(R.id.edt_password);
btn_login = (Button) findViewById(R.id.btn_login);
btn_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String account = edt_account.getText().toString();
String password = edt_password.getText().toString();
if (account.equals("shanks") && account != null && password.equals("123456") && password != null) {
Intent intent = new Intent(MainActivity.this, SecActivity.class);
intent.putExtra("data", "Hello,SecActivity!");
startActivity(intent);
} else {
Toast.makeText(MainActivity.this, "帐号或密码不能为空", Toast.LENGTH_SHORT).show();
}
}
});
btn_clean = (Button) findViewById(R.id.btn_clean);
btn_clean.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edt_account.setText("");
edt_password.setText("");
}
});
}
}
由于Intent要实现跳转界面,我们肯定还需要第二个活动,那么我们另外创建一个名为SecActivity的活动并将它的布局命名为:sec_activity。
我们在sec_activity中放入一个TextView用来显示从MainActivity传来的值,sec_activity.xml代码如下:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/txt"
android:textSize="24sp"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
接下来是我们在SecActivity中获取由MainActivity传来的Intent,使用getIntent()获取Intent实例,并通过getStringExtra()方法,获取键值对中的字符串数据。
SecActivity.java代码如下:
public class SecActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sec_activity);
textView = (TextView) findViewById(R.id.txt);
Intent intent = getIntent();
String data = intent.getStringExtra("data");
textView.setText(data);
}
}
注意:在创建Activity时,需要在AndroidManifest.xml中在
<application
...
<activity android:name=".SecActivity"></activity>
</application>
至此,就大工告成拉!!!让我们来看看效果吧!
![](/images/image/jiemian2.png)
当点击登录按钮时,跳转至SecActivity活动:
![](/images/image/secactivity.png)