zoukankan      html  css  js  c++  java
  • 安卓计算器

    MainActivity部分:
    package com.hanqi.textapp2;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;

    public class MainActivity extends AppCompatActivity {

    TextView tv_1;
    Button bt4;
    Button bt5;
    Button bt6;
    Button bt9;
    Button bt_add;
    Button bt_jian;
    Button bt1;
    Button bt2;
    Button bt3;
    Button bt_cheng;
    Button bt_chu;
    Button bt_deng;
    Button bt0;
    Button bt_dian;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv_1=(TextView)findViewById(R.id.tv_1);
    //事件源
    bt9=(Button)findViewById(R.id.bt9);
    bt4=(Button)findViewById(R.id.bt4);
    bt5=(Button)findViewById(R.id.bt5);
    bt6=(Button)findViewById(R.id.bt6);
    bt1=(Button)findViewById(R.id.bt1);
    bt2=(Button)findViewById(R.id.bt2);
    bt3=(Button)findViewById(R.id.bt3);
    bt_cheng=(Button)findViewById(R.id.bt_cheng);
    bt_chu=(Button)findViewById(R.id.bt_chu);
    bt_deng=(Button)findViewById(R.id.bt_deng);
    bt0=(Button)findViewById(R.id.bt0);
    bt_dian=(Button)findViewById(R.id.bt_dian);
    bt_add=(Button)findViewById(R.id.bt_add);
    bt_jian=(Button)findViewById(R.id.bt_jian);
    //给bt9按钮添加事件监听器 匿名内部类
    bt9.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

    //处理事件的业务逻辑
    tv_1.setText("9");

    }
    });
    bt_OnClickLister bt_L = new bt_OnClickLister();
    //2.普通内部类
    bt_add.setOnClickListener(bt_L);
    bt4.setOnClickListener(bt_L);
    bt5.setOnClickListener(bt_L);
    bt6.setOnClickListener(bt_L);
    bt1.setOnClickListener(bt_L);
    bt2.setOnClickListener(bt_L);
    bt3.setOnClickListener(bt_L);
    bt_cheng.setOnClickListener(bt_L);
    bt_chu.setOnClickListener(bt_L);
    bt_deng.setOnClickListener(bt_L);
    bt_dian.setOnClickListener(bt_L);
    bt0.setOnClickListener(bt_L);
    bt_jian.setOnClickListener(bt_L);

    }
    //内部类实现OnClickLister接口
    class bt_OnClickLister implements View.OnClickListener
    {
    @Override
    //v 事件源
    public void onClick(View v){
    //转成按钮
    Button bt=(Button)v;
    //取得按钮上的文字
    String str=bt.getText().toString();
    //处理事件的业务逻辑 设置显示文字
    tv_1.setText(str);
    }
    }
    //3.关联方式
    public void bt7_OnClick(View v)
    {
    tv_1.setText("7");
    }
    public void bt8_OnClick(View v)
    {
    tv_1.setText("8");
    }

    }



    activity_main部分:

    <?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"
    android:layout_height="match_parent"
    tools:context="com.hanqi.textapp2.MainActivity"
    android:rowCount="5"
    android:columnCount="4">


    <TextView
    android:layout_width="match_parent"
    android:layout_height="250dp"
    android:layout_columnSpan="4"
    android:id="@+id/tv_1"
    android:text="7"
    android:textSize="30dp"
    android:paddingRight="10dp"
    android:gravity="bottom|right"/>


    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="7"
    android:onClick="bt7_OnClick"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="8"
    android:onClick="bt8_OnClick"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="9"
    android:id="@+id/bt9"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="+"
    android:id="@+id/bt_add"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="4"
    android:id="@+id/bt4"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="5"
    android:id="@+id/bt5"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="6"
    android:id="@+id/bt6"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="-"
    android:id="@+id/bt_jian"/>
    <Button android:layout_width="99dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="1"
    android:id="@+id/bt1"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="2"
    android:id="@+id/bt2"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="3"
    android:id="@+id/bt3"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="*"
    android:id="@+id/bt_cheng"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="="
    android:id="@+id/bt_deng"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="0"
    android:id="@+id/bt0"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="."
    android:id="@+id/bt_dian"/>
    <Button android:layout_width="100dp"
    android:layout_height="60dp"
    android:gravity="center"
    android:text="/"
    android:id="@+id/bt_chu"/>
    </GridLayout>


    效果图:

    
    
  • 相关阅读:
    队列分类梳理
    停止线程
    Docker和Kubernetes
    Future、Callback、Promise
    Static、Final、static final
    线程池梳理
    TCP四次挥手
    http1.0、http1.x、http 2和https梳理
    重排序
    java内存模型梳理
  • 原文地址:https://www.cnblogs.com/panyiquan/p/5456688.html
Copyright © 2011-2022 走看看