任务二实现点击时间和手势联系
1.了解三个基本控件
- 标签控件(TextView)
- 编辑框控件(EditText)
- 按钮控件(Button)
2.创建登录界面
创建一个名为LoginActiity的空项目,在activity_login.xml写入代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:gravity="center"
android:padding="15dp"
android:orientation="vertical" >
<TextView
android:id="@+id/tvUserLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="30dp"
android:text="@string/user_login"
android:textColor="#ff00ff"
android:textSize="25sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<TextView
android:id="@+id/tvUsername"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username"
android:textColor="#000000"
android:textSize="20sp" />
<EditText
android:id="@+id/edtUsername"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/input_username"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<TextView
android:id="@+id/tvPassword"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password"
android:textColor="#000000"
android:textSize="20sp" />
<EditText
android:id="@+id/edtPassword"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/input_password"
android:inputType="textPassword"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<Button
android:id="@+id/btnLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="@string/login"
android:textSize="20sp" />
<Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:text="@string/cancel"
android:textSize="20sp" />
</LinearLayout>
</LinearLayout>
运行代码
3.项目清单文件AndroidManifest.xml
1.删除MainActivity元素的意图过滤器
2.登录窗口中声明变量,并写出按钮事件处理和取消登录按钮事件处理。
简单的监听事件有:
这次我们用到的是监听点击事件
多个的按钮的情况下就绑定多个onClickListener,每一个按钮对应一个处理代码。
最后onClick的参数View v,这个变量所指的是来自父层的ContentView,所以通过v.*可以更改其父层的View状态或属性
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class LoginActivity extends AppCompatActivity {
private EditText edtUsername;
private EditText edtpassword;
private Button btnLogin;
private Button btnCancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
edtUsername =findViewById(R.id.edtUsername);
edtpassword =findViewById(R.id.edtPassword);
btnLogin = findViewById(R.id.btnLogin);
btnCancel =findViewById(R.id.btnCancel);
btnLogin.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
String strUsername =edtUsername.getText().toString().trim();
String strPassword =edtpassword.getText().toString().trim();
if(strUsername.equals("admin")&& strPassword.equals("admin")){
Toast.makeText(LoginActivity.this,"恭喜,用户名与密码成功",Toast.LENGTH_SHORT).show();
}
else{
Toast.makeText(LoginActivity.this,"用户名或者密码错误",Toast.LENGTH_SHORT).show();
}
}
});
btnCancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}