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

 

posted on 2016-05-03 17:00  安然罒  阅读(384)  评论(0编辑  收藏  举报