Activity及其生命周期
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
String TAG = "myTag"; //定义变量
//整个生命周期
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d(TAG, "onCreate: ");
}
@Override
protected void onStart() {
super.onStart();
Log.d(TAG, "onStart: ");
}
@Override
protected void onResume() {
super.onResume();
Log.d(TAG, "onResume: ");
}
@Override
protected void onPause() {
super.onPause();
Log.d(TAG, "onPause: ");
}
@Override
protected void onStop() {
super.onStop();
Log.d(TAG, "onStop: ");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(TAG, "onRestart: ");
}
@Override
protected void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy: ");
}
}
UI控件
textView控件的交互
public class MainActivity extends AppCompatActivity {
TextView textView; //变量建立连接
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView); //关联对象
//关联图片 R.drawable.image1
//关联视频音频 R.raw.audio1
//寻找layout R.layout.layout1
}
@Override
protected void onPause() {
super.onPause();
textView.setText("pause"); //设置修改textView的文字
}
}
Button控件以及监听器的使用
package com.example.helloworld;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView;
Button button1,button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
//设计button1的监听器
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setText("左边");
}
});
//设计button2的监听器
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textView.setText("右边");
}
});
}
}
多种UI控件的使用
strings.xml
<resources>
<string name="app_name">UIDemo</string>
<string name="textview">Display</string>
<string name="button1">左</string>
<string name="button2">右</string>
<string name="switch1">开关</string>
<string name="button3">确定</string>
<string name="editText">请输入数值</string>
<string name="radioButton1">Android</string>
<string name="radioButton2">Apple</string>
<string name="imageView1">image</string>
<string name="CheckBox1">语文</string>
<string name="CheckBox2">数学</string>
<string name="CheckBox3">英语</string>
MainActivity.java
public class MainActivity extends AppCompatActivity {
TextView display;
Button buttonLeft;
Button buttonRight;
Button button3;
Switch aSwitch;
ProgressBar progressBar;
EditText editText;
RadioGroup radioGroup;
ImageView imageView;
SeekBar seekBar;
CheckBox checkBoxyuwen;
CheckBox checkBoxyingyu;
CheckBox checkBoxshuxue;
RatingBar ratingBar;
String yuwen = "";
String shuxue = "";
String yingyu = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = findViewById(R.id.textView);
buttonLeft = findViewById(R.id.button);
buttonRight = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
aSwitch = findViewById(R.id.switch1);
progressBar = findViewById(R.id.progressBar3);
editText = findViewById(R.id.editTextNumber);
radioGroup = findViewById(R.id.radioGroup);
imageView = findViewById(R.id.imageView);
seekBar = findViewById(R.id.seekBar);
checkBoxyuwen = findViewById(R.id.checkBox);
checkBoxyingyu = findViewById(R.id.checkBox3);
checkBoxshuxue = findViewById(R.id.checkBox2);
ratingBar = findViewById(R.id.ratingBar);
//匿名内部类实现监听器
buttonLeft.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
display.setText(R.string.button1);
}
});
buttonRight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
display.setText(R.string.button2);
}
});
aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b) //开的状态
{
display.setText("开");
}else
{
display.setText("关");
}
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String s = editText.getText().toString();
if (TextUtils.isEmpty(s)) //判断s是不是空的字符串
{
s="0";
}
progressBar.setProgress(Integer.valueOf(s)); //将输入的数字在进度条上显示
display.setText(s);
}
});
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) { //i表示radiogroup中的第几号按键
if(i==R.id.radioButton) //通过监听显示不同选择的logo
{
imageView.setImageResource(R.drawable.android);
}else
{
imageView.setImageResource(R.drawable.iphone);
}
}
});
seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) { //当滑动的值改变的时候
display.setText(String.valueOf(i)); //把值i转化为string
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) { //触碰跟踪
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
checkBoxyuwen.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b) //如果打勾
{
yuwen = "语文";
}else
{
yuwen = "";
}
display.setText(yuwen+shuxue+yingyu );
}
});
checkBoxshuxue.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b)
{
shuxue = "数学";
}else
{
shuxue = "";
}
display.setText(yuwen+shuxue+yingyu );
}
});
checkBoxyingyu.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if(b)
{
yingyu = "英语";
}else
{
yingyu = "";
}
display.setText(yuwen+shuxue+yingyu );
}
});
ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {
@Override
public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {
Toast.makeText(getApplicationContext(),String.valueOf(v)+"星评价",Toast.LENGTH_SHORT).show(); //Toast出现简短的提示语句(持续一段时间)
}
});
}
}