一、搭建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; } } }