一、搭建UI
1.进入res->layout->activity_main.xml 布局页面,选择Design模式
2.创建一个 LinearLayout 线性布局,用来约束UI
3.拖动一个按钮组件到 LinearLayout 下
二、监听按钮事件4种方式介绍
1.匿名内部类(代码如下)
package com.hiscene.buttonevent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,"OnClickButton",Toast.LENGTH_SHORT).show();
}
});
}
}
2.当前类实现OnClickListener接口
package com.hiscene.buttonevent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=findViewById(R.id.button);
button.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.button:
Toast.makeText(MainActivity.this,"OnClicnButton",Toast.LENGTH_SHORT).show();
break;
}
}
}
3.使用内部类实现OnClickListener接口
package com.hiscene.buttonevent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button=findViewById(R.id.button);
ButtonEvent buttonEvent=new ButtonEvent();
button.setOnClickListener(buttonEvent);
}
private class ButtonEvent implements View.OnClickListener
{
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.button:
Toast.makeText(MainActivity.this,"ClickButton",Toast.LENGTH_SHORT).show();
break;
}
}
}
}
4.在按钮的布局上添加“onClick”属性,调用Activity中函数
package com.hiscene.buttonevent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void OnClickButton(View view)
{
switch (view.getId())
{
case R.id.button:
Toast.makeText(MainActivity.this,"ClickButton",Toast.LENGTH_SHORT).show();
break;
}
}
}