一、Activity的基本概念
Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图。
Activity用于显示用户界面,用户通过Activity交互完成相关操作 ,一个App允许有多个Activity。
二、Activity操作
1.获取组件信息
例题一(文本):
(1).默认启动程序前(即不写逻辑代码)
(2).通过activity代码修改后
对应代码:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView; //定义textView组件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过findViewById
textView=findViewById(R.id.textView1);
textView.setText("这是修改逻辑代码!");
textView.setTextSize(20);
textView.setTextColor(getResources().getColor(R.color.black));
}
}
例题二(图片):
对应代码:
imageView=findViewById(R.id.imageView1);
imageView.setImageDrawable(getResources().getDrawable(R.drawable.dzq));
2.按钮点击事件
1.创建一个类并实现View.OnClickListener重写onClick方法
2.匿名内部类
方法一:
代码:
Button button=findViewById(R.id.button);
class MyClick implements View.OnClickListener{
@Override
public void onClick(View v) {
Log.i("biaoqian","点击了一下按钮");
}
}
button.setOnClickListener(new MyClick());
方法二:
代码:
Button button=findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.i("niming","第二次点击按钮");
}
});
3.获取文本值并判断正误
Toast.makeText()各个参数都是干嘛的
Toast:是一个类,主要管理消息的提示。
makeText(),是Toast的一个方法,用来显示信息,分别有三个参数。
第一个参数:this,是上下文参数,指当前页面显示
第二个参数:“string ”是你想要显示的内容
第三个参数:
Toast.LENGTH_LONG,指显示消息时间长短,另一个是ToastLENGTH_SHORT,大概2秒钟。
show(),表示显示这个Toast消息提醒,当程序运行到这里的时候,就会显示出来,如果不调用show()方法,这个Toast对象存在,但是并不会显示,所以一定不要忘记。
代码:
package com.hnucm.a_test04;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
TextView textView; //定义textView组件
ImageView imageView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText1=findViewById(R.id.editText1);
EditText editText2=findViewById(R.id.editText2);
//通过findViewById
textView=findViewById(R.id.textView1);
textView.setText("这是修改逻辑代码!");
textView.setTextSize(20);
textView.setTextColor(getResources().getColor(R.color.black));
imageView=findViewById(R.id.imageView1);
imageView.setImageDrawable(getResources().getDrawable(R.drawable.dzq));
Button button=findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String username=editText1.getText().toString();
String password=editText2.getText().toString();
if (username.equals("hnucm")&&password.equals("123456")){
Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(MainActivity.this,"登录失败",Toast.LENGTH_LONG).show();
}
}
});
}
}
4.简单加法计算器
xml代码:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:textSize="50sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_marginStart="32dp"
android:layout_marginTop="28dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:srcCompat="@tools:sample/avatars" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:text="按钮"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView1" />
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:hint="请输入账号"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView1" />
<EditText
android:id="@+id/editText2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入密码"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText1" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:layout_marginBottom="4dp"
android:text="+"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/editText4" />
<Button
android:id="@+id/button2"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_marginEnd="156dp"
android:text="="
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
<EditText
android:id="@+id/editText3"
android:layout_width="50sp"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/textView"
app:layout_constraintHorizontal_bias="0.403"
app:layout_constraintStart_toStartOf="parent" />
<EditText
android:id="@+id/editText4"
android:layout_width="50sp"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/button2" />
<EditText
android:id="@+id/editText5"
android:layout_width="50sp"
android:layout_height="wrap_content"
android:layout_marginEnd="84dp"
android:layout_marginBottom="4dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Activity核心代码:
Button button2=findViewById(R.id.button2);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int a=Integer.parseInt(editText3.getText().toString());
int b=Integer.parseInt(editText4.getText().toString());
editText5.setText((a+b)+" ");
}
});