前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Button和ImageButton[通俗易懂]

Button和ImageButton[通俗易懂]

作者头像
全栈程序员站长
发布2022-01-31 14:35:28
9610
发布2022-01-31 14:35:28
举报

大家好,又见面了,我是全栈君。

Button—-button

ImageButton—-图片button

共同拥有特征:

都能够作为一个button产生点击事件

不同点

1、 Button有text的属性。ImageButton没有

2、 ImageButton有src属性。Button没有

onClick事件

Button和ImageButton都有一个onClick事件

通过他们自身的.setOnClickListener(OnclickListener)方法加入点击事件。

事实上全部的控件都有一个onClick事件

监听事件实现的几种写法

1、 匿名内部类的实现

2、 独立类的实现

3、 实现接口的方式实现

findViewById—-返回的是一个View对象,须要对其进行类型转换,转换成对应的控件类型。

 以下看一下三种方法的详细实现

代码语言:javascript
复制
package com.example.button;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {
	private TextView tv;
	private Button loginButton;
	private ImageButton imgBt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.textView1);
        /*
         * 1、初始化当前须要的控件
         * 2、设置Button的监听器。通过监听器实现我们点击Button要操作的事情
         */
        loginButton = (Button) findViewById(R.id.button1);
        /*
         * 1、监听事件通过匿名内部类实现
         */
        loginButton.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				//在当前onClick方法中监听点击Button的动作
				tv.setText("被点击了!");							}		});        /*         * 2、监听事件通过独立类实现         */        loginButton = (Button) findViewById(R.id.button2);        loginButton.setOnClickListener(listener);                /*         * 3、通过接口方式实现         */        imgBt = (ImageButton) findViewById(R.id.imageButton1);                imgBt.setOnClickListener(this);    }       OnClickListener listener = new OnClickListener() {				@Override		public void onClick(View arg0) {			tv = (TextView) findViewById(R.id.textView1);			//tv.setText("独立类的监听事件被触发了!");			Log.i("tag", "独立类");		}	};		@Override	public void onClick(View arg0) {		Log.i("tag", "通过接口实现!");	}}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115760.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档