Android编程之点击按钮的响应方式小结【3种方式】

本文实例总结了Android点击按钮的响应方式。分享给大家供大家参考,具体如下:

方法一:在布局文件里直接定义函数名

布局文件 activity_main.xml 里代码如下

<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/show_toast"
  android:onClick="showToast">
</Button>

在后台文件 MainActivity.java里添加方法即可

/**
 * @description 显示toast提示信息
 * @author zhuyangxing 2013-11-22上午9:26:00
 * @param v
 */
public void showToast(View v){
  Toast.makeText(MainActivity.this, "这里是提示信息", Toast.LENGTH_SHORT).show();
}

方法二:对按钮添加事件监听器

布局文件 activity_main.xml 里代码如下

<Button
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="@string/changeToRed"
  android:id="@+id/button2">
</Button>

在后台文件 MainActivity.java里代码如下

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  Button button2 = (Button) findViewById(R.id.button2);//获得句柄
  button2.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {
      text.setBackgroundColor(Color.RED);
    }
  });
}

方法三:同样是监听器

在后台文件 MainActivity.Java里代码如下

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.testevent);
    mText = (TextView) findViewById(R.id.text1);
    mButton1 = (Button) findViewById(R.id.button1);
    mButton1.setOnClickListener(this); // 设置监听的类
    mButton2 = (Button) findViewById(R.id.button2);
    mButton2.setOnClickListener(this); // 设置监听的类
}
public void onClick(View v) {
    Log.v(TAG, "onClick()");
    switch(v.getId()){ // 区分不同的控件
      case R.id.button1:
        mText.setBackgroundColor(Color.RED);
        break;
      case R.id.button2:
        mText.setBackgroundColor(Color.GREEN);
        break;
      default:
        Log.v(TAG, "other");
        break;
    }
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android编程实现长按Button按钮连续响应功能示例

    本文实例讲述了Android编程实现长按Button按钮连续响应功能.分享给大家供大家参考,具体如下: 在电商类app的购物车页面,经常会有这样的需求:长按"+"按钮或者"-"按钮时,购物车中的商品数量连续的增加或减少. 本例的目的就是为了实现这个效果.预览图: 1.自定义Button. /** * 长按连续响应的Button * Created by admin on 15-6-1. */ public class LongClickButton extends

  • Android实现圆角Button按钮

    本文实例讲述了Android开发圆角Button按钮实现过程,分享给大家供大家参考,具体内容如下 需求及效果图: 实现思路: 1.shape实现圆角 在drawable新建两个xml 文件, 这两个 xml文件用shape 实现了圆角效果. Note: 因为要让用户有按下去的效果体验, 所有要有两套圆角图, 在按下去时候切换 <!-- res/drawable/button_shape_normal.xml --> <shape xmlns:android="http://sc

  • Android使用自定义alertdialog实现确认退出按钮

    有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才知道,要实现这种效果很简单.就是在设置alertDialog的contentView. 以下的代码是写在Activity下的,代码如下: public boolean onKeyDown(int keyCode, KeyEvent event) { // 如果是返回键,直接返回到桌面

  • Android中PopupWindow响应返回键并关闭的2种方法

    PopupWindow 跟我们的 Activity 不一样,因为我们在构造 PW 的时候往往不是继承来的,而是 new 出来的.所以不能使用重写 PW 的 onKeyDown() 之类的方法来截获键盘事件.好在 PW 本身的特性让我们很容易就能做到用返回键来退出,当然我们也可以截获键盘事件,这样就有两种方法了.   方法一: 最简单的方法 在 new 的时候,使用下面的方法: 复制代码 代码如下: popupWindow = new PopupWindow(popupWindow_view, 2

  • android中在Activity中响应ListView内部按钮的点击事件的两种方法

    最近交流群里面有人问到一个问题:如何在Activity中响应ListView内部按钮的点击事件,不要在Adapter中响应? 对于这个问题,我最初给他的解答是,在Adapter中定义一个回调接口,在Activity中实现该接口,从而实现对点击事件的响应. 下班后思考了一下,觉得有两种方式都能比较好的实现:使用接口回调和使用抽象类回调. 正好可以复习一下接口和抽象类的区别,于是写了两个Demo: 1.使用接口回调: Adapter类 package com.ivan.adapter; import

  • Android按钮单击事件的四种常用写法总结

    很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.因此本文就把这些写法总结一下,比较下各种写法的优劣,希望对大家灵活地选择编码方式可以有一定的参考借鉴价值. xml文件代码如下: <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_conte

  • Android HTTP发送请求和接收响应的实例代码

    添加权限 首先要在manifest中加上访问网络的权限: 复制代码 代码如下: <manifest ... > <uses-permission android:name="android.permission.INTERNET" /> ... </manifest> 完整的Manifest文件如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?>

  • 基于Android实现点击某个按钮让菜单选项从按钮周围指定位置弹出

    Android Material Design:PopupMenu Android Material Design 引入的PopupMenu类似过去的上下文菜单,但是更灵活. 如图所示: 现在给出实现上图PopupMenu的代码. 本例是一个普通的Button触发弹出PopupMenu. 测试的MainActivity.java : package zhangphil.materialdesign; import android.app.Activity; import android.os.B

  • android监听返回按钮事件的方法

    本文实例讲述了android监听返回按钮事件的方法.分享给大家供大家参考.具体如下: 用户在点击手机的返回按钮时,默认是推出当前的activty,但是有时用户不小心按到返回,所以需要给用户一个提示,这就需要重写onkeydown事件,实现的效果如下: java代码如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l

  • Android单选按钮对话框用法实例分析

    本文实例讲述了Android单选按钮对话框用法.分享给大家供大家参考.具体如下: main.xml布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:l

  • Android按钮按下的时候改变颜色实现方法

    需求是在我按下按钮时,该变按钮颜色,使用户感觉到自己按了按钮,当松开的时候,变回原来的颜色. 正常时: 按下时: 有人说,直接监听按钮的按下事件不得了嘛,其实这样确实能实现同样的效果,但是有个缺点,比如很多按钮都需要这样的效果,那你同样的代码就要重复很多次.所以,还是要通用起来. 首先,在res文件夹下新建一个文件夹drawable,这是无关分辨率的: 在下面建立一个xml文件:login_button_selector.xml 复制代码 代码如下: <selector xmlns:androi

  • android自定义按钮示例(重写imagebutton控件实现图片按钮)

    由于项目这种类型的图片按钮比较多,所以重写了ImageButton类. 复制代码 代码如下: package me.henji.widget; import android.content.Context;import android.graphics.ColorMatrix;import android.graphics.ColorMatrixColorFilter;import android.util.AttributeSet;import android.view.MotionEvent

随机推荐