`
小麦麦子
  • 浏览: 30654 次
文章分类
社区版块
存档分类
最新评论

如何实现android button事件?

阅读更多

 

安卓开发中,button点击事件是所有需求中都会涉及的基础需求,有很多方式可以实现这个需求,对于有经验的android程序员而言这部分内容基本没什么问题,本文主要针对android初学者,下面整理了几种Button点击事件的实现方法,以便初学者更好的掌握。

 

Button点击事件,在安卓中一般有以下几种:

1、匿名内部类

2、定义内部类,实现OnClickListener接口

3、定义的构造方法

4、用Activity实现OnClickListener接口

5、指定ButtononClick的属性

 

实现Button点击事件,首先,我们需要简单地定义一个带Buttonxml布局文件:

 

activity_main.xml:

 

<Button

        android:id="@+id/bt1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="点击事件" />

 

然后,再写Java代码

 

MainActivity.java:

 

1.匿名内部类

 

@Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        bt = (Button) findViewById(R.id.bt1);

        //1.匿名内部类

        bt.setOnClickListener(new OnClickListener() {

           

            @Override

            public void onClick(View v) {

                // TODO Auto-generated method stub

                Log.i("匿名内部类", "点击事件");

            }

        });

}

 

2.定义内部类,实现OnClickListener接口

 

public class MainActivity extends Activity{

 

    private Button bt;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        bt = (Button) findViewById(R.id.bt);

 

        bt.setOnClickListener(new MyListener());

    }

 

        //定义内部类,实现OnClickListene接口

    class MyListener implements OnClickListener{

 

        @Override

        public void onClick(View v) {

            // TODO Auto-generated method stub

            Log.i("定义内部类,实现OnClickListene接口", "点击事件");

        }

    }

}

 

3.定义的构造方法

 

public class MainActivity extends Activity{

 

    private Button bt;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        bt = (Button) findViewById(R.id.bt);

 

        myListener();

    }

 

        //定义构造方法

        private void myListener() {

        // TODO Auto-generated method stub

        bt.setOnClickListener(new OnClickListener() {

           

            @Override

            public void onClick(View v) {

                // TODO Auto-generated method stub

                Log.i("定义构造方法", "点击事件");

            }

        });

    }

}

4.Activity实现OnClickListener接口

 

public class MainActivity extends Activity implements OnClickListener {

 

    private Button bt;

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

        bt = (Button) findViewById(R.id.bt);

        bt.setOnClickListener(this);

    }

  

  

  //Activity实现OnClickListener接口

    @Override

    public void onClick(View v) {

        // TODO Auto-generated method stub

        Log.i("Activity实现OnClickListener接口", "点击事件");

        }

   

}

5.指定ButtononClick的属性:

 

先在layout文件中指定onClick属性,然后到Activity中实现这个onButtonClick方法

 

布局文件:

 

    <Button

 

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:onClick="click"

        android:text="点击事件" />

Java代码:

 

public class MainActivity extends Activity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

    }

 

    //5指定onClick属性方式

    public void click(View v) {

        // TODO Auto-generated method stub

        Log.i("指定onClick属性方式","点击事件");

    }

}

 

另外,多个按钮点击的话,也可以指定onClick属性方式,获取其资源id。通过其资源id,可以判断用户点击了哪个按钮了。

 

布局文件:

 

    <Button

        android:id="@+id/bt1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:onClick="click"

        android:text="点击事件1" />

   

       <Button

        android:id="@+id/bt2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:onClick="click"

        android:text="点击事件2" />

    

       <Button

        android:id="@+id/bt3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:onClick="click"

        android:text="点击事件3" />/>

   

    <Button

        android:id="@+id/bt4"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:onClick="click"

        android:text="点击事件4" />

Java代码:

 

public class MainActivity extends Activity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

       

    }

 

    //指定onClick属性方式

    //传人的View对象,就是用户按下的那个按钮对象

    public void click(View v) {

        // TODO Auto-generated method stub

       

        //获取组件的资源id

        int id = v.getId();

        switch (id) {

        case R.id.bt1:

            Log.i("指定onClick属性方式","bt1点击事件");

            break;

        case R.id.bt2:

            Log.i("指定onClick属性方式","bt2点击事件");

            break;

        case R.id.bt3:

            Log.i("指定onClick属性方式","bt3点击事件");

            break;

        case R.id.bt4:

            Log.i("指定onClick属性方式","bt4点击事件");

            break;

 

        default:

            break;

        }       

    }

}

 

     

      以上就是android系统Button点击事件的实现方法和源码,大家可以在自己的环境下,尝试实现上面代码,看看效果如何。

 

 

相关文章:《android开发中自定义View的方法

 

分享到:
评论

相关推荐

    Android Button事件的实现

    ### Android Button事件的实现 #### 一、简介 在Android应用开发中,`Button`控件是最常用的交互组件之一,用户可以通过点击按钮触发相应的事件处理逻辑。本文将通过一个简单的例子来详细介绍如何在Android应用...

    android Button监听事件的几种类型

    对于Button的监听事件,开发者通常需要实现多种类型的监听器来处理不同类型的用户行为。本篇文章将深入探讨Android Button常用的监听事件类型。 1. **OnClickListener**:这是最基础的按钮监听事件,用于处理单击...

    基于Android Studio环境下Button点击事件的实现.pdf

    "基于Android Studio环境下Button点击事件的实现" Android 是美国 Google 公司开发的操作系统,采用了分层架构,其应用开发的重要内容就是界面开发。近年来,人们对移动端的应用需求越来越大,并且 Android 在移动...

    android 自定义各种风格button

    本文将深入探讨如何在Android中自定义各种风格的Button。 首先,我们可以通过修改Button的背景来改变其颜色。Android提供了多种方式来实现这一目标,例如使用颜色资源、颜色选择器(ColorStateList)或者渐变色。在...

    android listview 中button 事件处理

    本文用两种方法BaseAdapter 和SimpleAdapter分别实现三种情况。listview中有button事件的时候,针对不同的需求,响应不同的事件。只实现响应listview的点击事件。只响应listview中的button事件。两个事件都需要。

    Android Button事件处理.doc

    在Android开发中,按钮(Button)是用户界面中常见且重要的元素,用于接收用户的点击操作并触发相应的事件处理。本文将详细介绍如何在Android中处理Button的事件。 首先,Android编程基础包括对XML布局的理解和Java...

    Android ListView添加Button及其事件

    以上就是关于“Android ListView添加Button及其事件”的详细知识,希望对你理解ListView的自定义和事件处理有所帮助。在实际开发中,你可以根据需求扩展这个例子,例如添加更多的交互元素,或者处理更复杂的业务逻辑...

    Android ImageButton的使用 及长按Button的实现

    总的来说,`ImageButton`在Android应用开发中扮演着重要的角色,结合点击和长按事件,可以实现丰富的交互功能。通过理解其使用方法和事件处理机制,开发者可以更灵活地设计用户界面,提升用户体验。

    Android 源码Button 经典实例

    在Android开发中,Button控件是用户界面中最基础也是最重要的元素之一,它允许用户执行特定的操作或触发事件。本文将通过“Android 源码Button 经典实例”这一主题,深入探讨Button的使用方法、源码分析以及实战案例...

    android同时实现对一button的单击双击时间区分监控

    通过以上步骤,我们就能够成功地在Android中实现对Button的单击和双击事件的区分及监控。这样的功能可以帮助开发者为用户提供更加丰富的交互体验,同时也可以收集到关于用户操作习惯的数据,为产品优化提供依据。在...

    Android Button点击事件的四种实现方法

    Android Button点击事件的四种实现方法 Android Button点击事件是 Android 应用程序中常见的一种交互方式,实现 Button 点击事件有多种方法,本文将详细介绍四种实现 Button 点击事件的方法,并对每种方法进行详细...

    Android基础教程(三)之-----简单的Button事件响应综合提示控件Toast的应用

    在 Android 开发中,事件响应是非常重要的一个环节,而 Button 控件是最常用的控件之一,今天我们将学习如何实现 Button 事件响应,并使用 Toast 提示控件来显示提示信息。 首先,让我们看一下 Button 的基本使用,...

    android 实现切换Button效果demo

    由于工作需要实现类似开关的Button效果,自己实现了一下,给出效果图http://blog.csdn.net/java280580332/article/details/49151687 需要的同学直接可以拿去使用

    Android带动态效果的Button(按钮)

    在Android开发中,按钮(Button)是用户界面中不可或缺的元素,它允许用户与应用进行交互。本教程将深入探讨如何在Android中为Button添加动态效果,以提升用户体验和界面的吸引力。 首先,我们从基本的Button说起。...

    android中可以拖动的Button DEMO

    在Android开发中,实现一个可拖动的Button是一项有趣且实用的功能,这通常涉及到自定义View的技巧。本文将深入探讨如何在Android中创建这样一个功能,以及涉及的相关知识点。 首先,我们要理解Android的触摸事件...

    纯代码实现android底部菜单栏fragment+button

    在这个纯代码实现的案例中,我们将探讨如何不依赖XML布局文件,仅通过Java代码来创建这样一个底部菜单栏,并且结合Fragment和Button的使用,实现动态加载和交互。下面,我们深入讲解相关知识点。 首先,了解`...

    Android游戏开发学习(5)--实现Button悬浮于与SurfaceView之上

    在Android游戏开发中,将一个`Button`控件悬浮于`SurfaceView`之上是一项常见的需求。这通常是为了解决在游戏界面中添加交互元素,如暂停、设置或返回按钮,以便用户可以随时进行操作。本篇文章将深入探讨如何实现这...

    android中listView的Button监听

    最近在做android项目时 发现要在listView用到Button等各种点击事件 经过各种百度 发现有两个简单的方法实现 我把demo放上去 为了方便自己以后用到 也方便学习listview实现button监听的同学们 注意 我用最新sdk...

    Android中Button一边圆角一边直角

    ### Android中实现Button一边圆角一边直角的方法 在Android应用开发中,有时为了追求更加个性化的用户界面设计,开发者可能会遇到需要自定义Button样式的需求,例如让一个Button的一侧保持直角,而另一侧则呈现圆角...

    Android listview和button点击事件冲突问题解决方法

    在Android开发中,ListView是...通过自定义Button并重写相关方法,我们可以实现期望的交互效果,同时保持良好的用户体验。如果你在实际应用中遇到其他问题,可以参考本文的方法进行调试和优化,或者寻求社区的帮助。

Global site tag (gtag.js) - Google Analytics