计算器 ——给按钮添加监听器

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3     xmlns:tools="http://schemas.android.com/tools"
  4     android:layout_width="match_parent"
  5     android:layout_height="match_parent"
  6     tools:context="com.hanqi.testapp2.MainActivity"
  7     android:rowCount="7"
  8     android:columnCount="4">
  9
 10     <TextView
 11         android:layout_width="match_parent"
 12         android:layout_height="120dp"
 13         android:layout_columnSpan="4"
 14         android:layout_rowSpan="2"
 15         android:id="@+id/tv_1"
 16         android:text="0"
 17         android:textSize="40sp"
 18         android:paddingRight="10dp"
 19         android:gravity="right|center_vertical"
 20         android:textColor="#fff100"
 21         android:background="#000"/>
 22
 23     <Button
 24         android:layout_width="wrap_content"
 25         android:layout_height="wrap_content"
 26         android:gravity="center"
 27         android:text="C"
 28         android:id="@+id/btc"
 29         android:layout_rowWeight="1"
 30         android:layout_columnWeight="1"
 31         android:textSize="30sp"/>
 32     <Button
 33         android:layout_width="wrap_content"
 34         android:layout_height="wrap_content"
 35         android:gravity="center"
 36         android:text="+/-"
 37         android:id="@+id/bt_hun"
 38         android:layout_rowWeight="1"
 39         android:layout_columnWeight="1"
 40         android:textSize="30sp"/>
 41     <Button
 42         android:layout_width="wrap_content"
 43         android:layout_height="wrap_content"
 44         android:gravity="center"
 45         android:text="%"
 46         android:id="@+id/bt_bai"
 47         android:layout_rowWeight="1"
 48         android:layout_columnWeight="1"
 49         android:textSize="30sp"/>
 50     <Button
 51         android:layout_width="wrap_content"
 52         android:layout_height="wrap_content"
 53         android:gravity="center"
 54         android:text="÷"
 55         android:id="@+id/bt_chu"
 56         android:layout_rowWeight="1"
 57         android:textSize="30sp"/>
 58
 59     <Button
 60         android:layout_width="wrap_content"
 61         android:layout_height="wrap_content"
 62         android:gravity="center"
 63         android:text="7"
 64         android:onClick="bt7_OnClick"
 65         android:layout_rowWeight="1"
 66         android:layout_columnWeight="1"
 67         android:textSize="30sp"/>
 68
 69     <Button
 70         android:layout_width="wrap_content"
 71         android:layout_height="wrap_content"
 72         android:gravity="center"
 73         android:text="8"
 74         android:onClick="bt8_OnClick"
 75         android:layout_rowWeight="1"
 76         android:layout_columnWeight="1"
 77         android:textSize="30sp"/>
 78
 79     <Button
 80         android:layout_width="wrap_content"
 81         android:layout_height="wrap_content"
 82         android:gravity="center"
 83         android:text="9"
 84         android:id="@+id/bt9"
 85         android:layout_rowWeight="1"
 86         android:layout_columnWeight="1"
 87         android:textSize="30sp"/>
 88
 89     <Button
 90         android:layout_width="wrap_content"
 91         android:layout_height="wrap_content"
 92         android:gravity="center"
 93         android:text="X"
 94         android:id="@+id/bt_cheng"
 95         android:layout_rowWeight="1"
 96         android:textSize="30sp"/>
 97
 98     <Button
 99         android:layout_width="wrap_content"
100         android:layout_height="wrap_content"
101         android:gravity="center"
102         android:text="4"
103         android:id="@+id/bt4"
104         android:layout_rowWeight="1"
105         android:layout_columnWeight="1"
106         android:textSize="30sp"/>
107
108     <Button
109         android:layout_width="wrap_content"
110         android:layout_height="wrap_content"
111         android:gravity="center"
112         android:text="5"
113         android:id="@+id/bt5"
114         android:layout_rowWeight="1"
115         android:layout_columnWeight="1"
116         android:textSize="30sp"/>
117
118     <Button
119         android:layout_width="wrap_content"
120         android:layout_height="wrap_content"
121         android:gravity="center"
122         android:text="6"
123         android:id="@+id/bt6"
124         android:layout_rowWeight="1"
125         android:layout_columnWeight="1"
126         android:textSize="30sp"/>
127
128     <Button
129         android:layout_width="wrap_content"
130         android:layout_height="wrap_content"
131         android:gravity="center"
132         android:text="-"
133         android:id="@+id/bt_jian"
134         android:layout_rowWeight="1"
135         android:textSize="30sp"/>
136
137     <Button
138         android:layout_width="wrap_content"
139         android:layout_height="wrap_content"
140         android:gravity="center"
141         android:text="1"
142         android:id="@+id/bt1"
143         android:layout_rowWeight="1"
144         android:layout_columnWeight="1"
145         android:textSize="30sp"/>
146     <Button
147         android:layout_width="wrap_content"
148         android:layout_height="wrap_content"
149         android:gravity="center"
150         android:text="2"
151         android:id="@+id/bt2"
152         android:layout_rowWeight="1"
153         android:layout_columnWeight="1"
154         android:textSize="30sp"/>
155     <Button
156         android:layout_width="wrap_content"
157         android:layout_height="wrap_content"
158         android:gravity="center"
159         android:text="3"
160         android:id="@+id/bt3"
161         android:layout_rowWeight="1"
162         android:layout_columnWeight="1"
163         android:textSize="30sp"/>
164     <Button
165         android:layout_width="wrap_content"
166         android:layout_height="wrap_content"
167         android:gravity="center"
168         android:text="+"
169         android:id="@+id/bt_add"
170         android:layout_rowWeight="1"
171         android:textSize="30sp"/>
172     <Button
173         android:layout_width="wrap_content"
174         android:layout_height="wrap_content"
175         android:layout_columnSpan="2"
176         android:gravity="center"
177         android:layout_gravity="fill"
178         android:text="0"
179         android:id="@+id/bt0"
180         android:layout_rowWeight="1"
181         android:layout_columnWeight="1"
182         android:textSize="30sp"/>
183     <Button
184         android:layout_width="wrap_content"
185         android:layout_height="wrap_content"
186         android:gravity="center"
187         android:text="."
188         android:id="@+id/bt_dian"
189         android:layout_rowWeight="1"
190         android:layout_columnWeight="1"
191         android:textSize="30sp"/>
192     <Button
193         android:layout_width="wrap_content"
194         android:layout_height="wrap_content"
195         android:gravity="center"
196         android:text="="
197         android:id="@+id/bt_deng"
198         android:layout_rowWeight="1"
199         android:textSize="30sp"/>
200 </GridLayout>

activity_main

  1 package com.hanqi.testapp2;
  2
  3 import android.support.v7.app.AppCompatActivity;
  4 import android.os.Bundle;
  5 import android.view.View;
  6 import android.widget.Button;
  7 import android.widget.TextView;
  8
  9 public class MainActivity extends AppCompatActivity {
 10
 11     TextView  tv_1;
 12
 13     Button bt9;
 14     Button bt4;
 15     Button bt5;
 16     Button bt6;
 17     Button bt_add;
 18     Button bt_jian;
 19     Button btc;
 20     Button bt_hun;
 21     Button bt_bai;
 22     Button bt_chu;
 23     Button bt_cheng;
 24     Button bt1;
 25     Button bt2;
 26     Button bt3;
 27     Button bt0;
 28     Button bt_dian;
 29     Button bt_deng;
 30
 31
 32
 33
 34     @Override
 35     protected void onCreate(Bundle savedInstanceState) {
 36         super.onCreate(savedInstanceState);
 37         setContentView(R.layout.activity_main);
 38
 39         tv_1=(TextView)findViewById(R.id.tv_1);
 40
 41         //事件源
 42         bt9=(Button)findViewById(R.id.bt9);
 43         bt4=(Button)findViewById(R.id.bt4);
 44         bt5=(Button)findViewById(R.id.bt5);
 45         bt6=(Button)findViewById(R.id.bt6);
 46         bt_add=(Button)findViewById(R.id.bt_add);
 47         bt_jian=(Button)findViewById(R.id.bt_jian);
 48         btc=(Button)findViewById(R.id.btc);
 49         bt_hun=(Button)findViewById(R.id.bt_hun);
 50         bt_bai=(Button)findViewById(R.id.bt_bai);
 51         bt_chu=(Button)findViewById(R.id.bt_chu);
 52         bt_cheng=(Button)findViewById(R.id.bt_cheng);
 53         bt1=(Button)findViewById(R.id.bt1);
 54         bt2=(Button)findViewById(R.id.bt2);
 55         bt3=(Button)findViewById(R.id.bt3);
 56         bt0=(Button)findViewById(R.id.bt0);
 57         bt_dian=(Button)findViewById(R.id.bt_dian);
 58         bt_deng=(Button)findViewById(R.id.bt_deng);
 59
 60
 61
 62         //给bt9按钮添加事件监听器 实现方式:1.匿名内部类 不可以复用
 63         bt9.setOnClickListener(new View.OnClickListener() {
 64             @Override
 65             public void onClick(View v) {
 66
 67                 //处理事件的业务逻辑
 68                 tv_1.setText("9");
 69
 70             }
 71         });
 72
 73         //2.普通内部类  可以复用
 74         bt_OnClickListener bt_1=new bt_OnClickListener();
 75
 76         btc.setOnClickListener(bt_1);
 77         bt4.setOnClickListener(bt_1);
 78         bt5.setOnClickListener(bt_1);
 79         bt6.setOnClickListener(bt_1);
 80         bt_jian.setOnClickListener(bt_1);
 81         btc.setOnClickListener(bt_1);
 82         bt_hun.setOnClickListener(bt_1);
 83         bt_bai.setOnClickListener(bt_1);
 84         bt_chu.setOnClickListener(bt_1);
 85         bt_cheng.setOnClickListener(bt_1);
 86         bt1.setOnClickListener(bt_1);
 87         bt2.setOnClickListener(bt_1);
 88         bt3.setOnClickListener(bt_1);
 89         bt0.setOnClickListener(bt_1);
 90         bt_dian.setOnClickListener(bt_1);
 91         bt_deng.setOnClickListener(bt_1);
 92         bt_add.setOnClickListener(bt_1);
 93     }
 94
 95     //内部类实现OnClickListener接口
 96     class  bt_OnClickListener implements  View.OnClickListener
 97     {
 98         @Override
 99         //v 事件源
100         public void onClick(View v) {
101
102             //转成按钮
103             Button bt=(Button)v;
104
105             //取得按钮上的文字
106             String str=bt.getText().toString();
107
108             //处理事件的业务逻辑 设置显示文字
109             tv_1.setText(str);
110         }
111
112     }
113
114     //3.关联方式
115     public  void bt7_OnClick(View v)
116     {
117         tv_1.setText("7");
118     }
119
120     public  void bt8_OnClick(View v)
121     {
122         tv_1.setText("8");
123     }
124 }

MainActivity

时间: 2024-10-11 23:15:03

计算器 ——给按钮添加监听器的相关文章

计算器(UI事件)给按钮添加监听器

<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" and

JS DOM基础 事件概述 事件流 事件处理方法 添加监听器 事件类型 事件对象 事件委托

一.事件概述 事件是什么? 在我们的生活中,都会接触到事件这样一个概念,它通常通过描述发生这件事的时间.地点.人物,发生了什么来进行概括. 同样的在javascript也有这样的一个的东西------事件. 页面上发生的事件:鼠标移动.点击.滚动等等. 事件描述了页面上发生的事情,通常它有以下三个要素组成: 事件源:触发事件的元素 事件类型:事件的触发方式(例如鼠标点击或键盘点击) 事件处理程序(事件监听器):事件触发后要执行的代码(函数形式) Javascript 使我们可以动态的去操作一个页

Swift - 给图片和按钮添加阴影边框

最近比较忙,想要做的事情有很多,能做出来的就只有一部份,我觉得也许是我没有计划和规律造成的,我需要坚持下去,今天写了一个swift2.0给按钮或者图片添加阴影的效果,就当做笔记吧:-) Swift Code: let image1 = UIImageView(frame: CGRectMake(20,50,self.view.frame.width-50,180)) image1.image = UIImage(named: "sea.jpg") self.view.addSubvie

GUI编程笔记06:GUI窗体添加按钮并对按钮添加事件案例

1.需求:把按钮添加到窗体,并对按钮添加一个点击事件. 步骤: (1)创建窗体对象(2)创建按钮对象(3)把按钮添加到窗体(4)窗体显示 2.编写程序思路: 窗体布局:窗体中组件的排列方式  布局分类如下: package cn.itcast_04; import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.event.ActionEvent; import java.aw

在VC中,为图片按钮添加一些功能提示(转)

在VC中,也常常为一些图片按钮添加一些功能提示.下面讲解实现过程:该功能的实现主要是用CToolTipCtrl类.该类在VC  msdn中有详细说明.首先在对话框的头文件中加入初始化语句:public:下,加入:CToolTipCtrl    m_Mytip;然后在初始化对话框函数中加入:m_Mytip.Create(this);  m_Mytip.AddTool( GetDlgItem(IDC_BUTTON), "你想要添加的提示信息" ); //IDC_BUTTON为你要添加提示信

Android 给按钮添加监听事件

在安卓开发中,如果要给一个按钮添加监听事件的话,有以下三种实现方式 1.方式一 public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取button按钮 Butt

Qt给按钮添加图标

ui.btnTest2->setIcon(QIcon(QPixmap(":/DlgGUO/icon/qd.ico"))); 不知道是Qt帮助上面说的不清楚,还是怎么的,看不明白,好不容易找到用法,记着留用 Qt给按钮添加图标

【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选

页面点击按钮添加一行    删除一行   全选   反选  全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.css" /> <script type=&qu

java中两种添加监听器的策略

/*第一种:将事件的处理委托给其他对象,下面的例子是委托给了MyListener(implements ActionListener)*/ 1 import java.applet.Applet; 2 import java.awt.event.*; 3 import java.awt.*; 4 public class ChangeColor extends Applet{//Applet的默认布局为FlowLayout方式 5 Color myColor; 6 String str; 7 B