Android UI控件的初识

Activity及其生命周期

Activity LifeStyle

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("右边");
            }
        });
    }

}

Button控件的监听器使用
多种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出现简短的提示语句(持续一段时间)
            }
        });
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值