本帖最后由 liu 于 2018-12-1 15:58 编辑
Button
Button(按钮)是Android中一个非常简单的控件,它继承自TextView,用法和TextView差不多,本次只说一下我平时开发中常用到的Button点击事件:
一、内名内部类的方式
xml代码:
[XML] 纯文本查看 复制代码 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:gravity="center"
tools:context="com.example.asus.myapplication.MainActivity">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮"/>
</LinearLayout>
java代码:
[Java] 纯文本查看 复制代码 package com.example.asus.myapplication;
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 {
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过id实例化控件
mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//消息提示 第一个参数:上下文对象 第二个参数:要提示的内容 第三个参数:显示的时间
Toast.makeText(MainActivity.this, "使用匿名内部类的方式设置点击事件", Toast.LENGTH_LONG).show();
}
});
}
}
点击效果如下图所示:
二、Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法
java代码: [Java] 纯文本查看 复制代码 package com.example.asus.myapplication;
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 {
private Button mButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过id实例化控件
mButton = (Button) findViewById(R.id.button);
mButton.setOnClickListener(this);
}
/**
*
* @param v
* View v 代表所点击的控件
*/
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
//消息提示 第一个参数:上下文对象 第二个参数:要提示的内容 第三个参数:显示的时间
Toast.makeText(MainActivity.this, "使用实现OnClickListener接口的方式设置点击事件", Toast.LENGTH_LONG).show();
break;
}
}
}
点击效果如下图所示:
|