Button按钮

框架结构:

一、继承结构

  • 由于Button是继承于TextView的,因此,TextView中的常用属性,Button也能使用

二、两种点击方式

方式一:

 1. 在布局文件中给Button按钮添加onClick属性,属性值为任意字符串(此字符串用于设置按钮被点击时运行的方法的方法名)。
 <Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:onClick="click"android:text="登录"android:id="@+id/but_login"/>
2.在java代码中(在显示了此Button的Activity子类中)创建onClick属性中指定的方法
/** 设置按钮点击事件的方式一:通过onClick属性+自定义方法实现* */
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}/** 创建按钮被点击时运行的方法* 要求如下:* 1. 该方法必须是public void* 2. 该方法的方法名称必须与onClick中的属性值完全一致* 3. 该方法的参数列表必须有且只有一个View类型的参数* * 参数的作用:参数代表的是当前被点击的控件对象* */public void click(View v) {//v.getId()方法用于获取当前被点击的按钮对应的id属性的值switch (v.getId()) {case R.id.but_login:System.out.println("登录按钮被点击啦!!!!!!");break;case R.id.but_register:System.out.println("注册按钮被点击啦!!!!!!########");break;}}
}

方式二:

获取控件对象+通过控件对象调用setOnClickListener方法设置点击事件
根据setOnClickListener方法参数的不同传递方式分为以下3小种:

a. 通过匿名内部类方式

  public class TwoActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_two);//获取按钮对象Button but = (Button) findViewById(R.id.but1);//通过按钮对象设置点击事件but.setOnClickListener(new OnClickListener() {//一旦按钮被点击,就会运行下方的onClick方法@Overridepublic void onClick(View v) {// android中的输出:作用等同于System.out.println/** 参数1: 稍后会被显示在LogCat的Tag标签中* 参数2: 稍后会被显示在LogCat的Text标签中* */Log.i("oye", "我是安卓的打印@@@@ ");}}); }
}

b. 让当前类实现onClickListener接口,在setOnClickListener方法中传递当前类对象.

public class ThreeActivity extends Activity implements OnClickListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);     setContentView(R.layout.activity_two);//获取按钮对象Button but = (Button) findViewById(R.id.but1);//通过按钮对象设置点击事件but.setOnClickListener(this);       }//一旦按钮被点击,就会运行以下onclick方法@Overridepublic void onClick(View v) {// TODO Auto-generated method stub      }
}

c. 创建一个onClickListener的实现子类,在setOnClickListener方法中传递子类对象.

public class FourActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_two);//获取按钮对象Button but = (Button) findViewById(R.id.but1);//通过按钮对象设置点击事件but.setOnClickListener(new MyListener());}class MyListener implements OnClickListener {//按钮一旦被点击,就会运行以下onClick方法@Overridepublic void onClick(View v) {// TODO Auto-generated method stub}}
}

Button按钮及其点击事件方式相关推荐

  1. Winform中使用代码编写Button按钮的点击事件

    场景 一般在进行Winform窗体开发时都会拖拽一个Button,然后双击进入Button按钮的点击事件中,进行 点击事件的编写. 如果窗体上事先没有Button按钮,是在代码中生成的Button按钮 ...

  2. 纯CSS自定义button按钮的点击特效

    纯css自定义button按钮的点击特效,实现背景变化 效果图如下: 代码如下: <!DOCTYPE html> <html> <head><meta cha ...

  3. HTML中jquery控制button按钮可点击、不可点击

    HTML中jquery控制button按钮可点击.不可点击 1.首先来说button按钮不可点击 1.1第一种(html代码中控制) <button id="button_id&quo ...

  4. JQuery/JS select标签动态设置选中值、设置禁止选择 button按钮禁止点击 select获取选中值...

    //**1.设置选中值:(根据索引确定选中值)**// var osel=document.getElementById("selID"); //得到select的IDvar op ...

  5. Android处理ListView中的Item中的Button按钮不能点击的问题

    问题描述:ListView列表中的Button按钮按钮不能点击 解决办法:在ListView中的Item项的布局文件中加上:android:descendantFocusability="b ...

  6. button按钮的点击样式解决

    button按钮样式 开发中使用button的时候点击会出现一个黑的的边框, 当我点击的时候 这个按钮就会出现一个黑色的边框 ,即使之前设置边框样式也没用 解决方法 : 在css样式中加入 outli ...

  7. 5去掉button按钮的点击样式_CSS实现复古按钮

    使用box-shadow属性来实现复古按钮的样式 具体代码如下: <!DOCTYPE html> <html><head><meta charset=&quo ...

  8. CSS实现button按钮的点击效果

    需求 如下图所示,如果我们要实现这样的按钮点击效果,用CSS怎样去实现呢? 实现 个人方法是通过伪元素before来实现,上代码: HTML: <button class="prima ...

  9. 5去掉button按钮的点击样式_各种好看的小按钮合集,纯css编写,最近在学习时遇到的,记录成为笔记...

    写在前面 最近忙着实习的事,前往广州,租房,置办东西等等.用碎片化的时间看了一些博客,也看到不少我认为很不错的通过纯css来打造的按钮样式.记录下来以后开发的时候或许能用上. 亮起来按钮 <di ...

  10. 控制Button按钮不可点击

    1.控制按钮不可点击 (1)页面代码中控制 <button id="btn_id" disabled="disabled">不可点击</but ...

最新文章

  1. CCF CSP 201609-2 火车购票
  2. HDU 1877 另一个版本 A+B
  3. WPF对象级资源的定义与查找
  4. 【无码专区2】序列划分(数学)
  5. 支付宝移动端 Hybrid 解决方案探索与实践
  6. 无浮动IP的虚机出公网流量路径
  7. [2013.8.29]对于多线程编程的几点个人见解
  8. mysql 库名大小写_MySQL 库名、表名、字段名区分大小写吗???
  9. Oracle 基本函数-数值、字符、 Instr()、日期、转换、SQL 操作符、trunc 截断
  10. xampp启动遇到的小问题
  11. 详解汽轮机的TSI系统
  12. virtualbox vm 虚拟机 迁移
  13. 企业微信端开启debug模式
  14. 计算机发展历程 思维导图
  15. 补能的争议路线:快充会走向大一统吗?
  16. Python(爬虫篇)--- 破解加密【一】JS加密破解
  17. 学生党用什么蓝牙耳机好?学生党性价比高的蓝牙耳机推荐
  18. 插入法排序c语言程序,C语言直接插入排序算法
  19. set集合关系及特点
  20. 玩转内网穿透(1):内网穿透是什么?有什么用

热门文章

  1. Js坐标转换器-百度地图坐标转腾讯地图坐标
  2. python模拟桌球运动_python基础教程 [台球运动基础教程]
  3. java cobar_Cobar源码解析(二)
  4. java web 微博系统_【Java项目】——Java Web完整项目(微博系统)-Go语言中文社区...
  5. 九九乘法表的四种打印模式
  6. mysql5.7企业版下载_MySQL v5.7.20 官方正式版(32/64位 安装版与zip解压版)
  7. Win10 企业版 LTSC 安转.appx的方式
  8. 如何将鼠标计算机配置放到板载,罗技G500S游戏鼠标配备有板载内存让鼠标脱离驱动实现自定义功能...
  9. 前端学习——Js(JavaScript)入门
  10. 产品经理/技术总监的能力模型