activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background"
tools:context=".MainActivity">
<EditText
android:id="@+id/num_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="60dp"
android:layout_marginTop="60dp"
android:layout_marginEnd="60dp"
android:ems="10"
android:hint="Num 1"
android:textStyle="bold"
android:textSize="25sp"
android:textColor="#FFFFFF"
android:backgroundTint="#FFFFFF"
android:textAlignment="center"
android:inputType="number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/num_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="60dp"
android:layout_marginTop="50dp"
android:layout_marginEnd="60dp"
android:ems="10"
android:hint="Num 2"
android:textStyle="bold"
android:textSize="25sp"
android:textColor="#FFFFFF"
android:backgroundTint="#FFFFFF"
android:textAlignment="center"
android:inputType="number"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/num_1" />
<androidx.gridlayout.widget.GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="1dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="1dp"
app:columnCount="2"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/num_2">
<ImageButton
android:id="@+id/plus_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/add" />
<ImageButton
android:id="@+id/multiply_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/multiply" />
<ImageButton
android:id="@+id/divide_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/divide" />
<ImageButton
android:id="@+id/minus_btn"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/subtract" />
</androidx.gridlayout.widget.GridLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:orientation="horizontal"
android:padding="8dp"
android:background="@drawable/round_corner_background"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.51"
app:layout_constraintStart_toStartOf="parent">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="34sp"
android:text="@string/ans"/>
<TextView
android:id="@+id/ans"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_weight="1"
android:textColor="#000000"
android:textSize="34sp"
android:text="@string/no_input_found" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity.java:
package com.example.mycalculator;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private EditText number1;
private EditText number2;
private ImageButton plusBtn,multiplyBtn,divideBtn,minusBtn;
private TextView tvAns;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
number1 = findViewById(R.id.num_1);
number2 = findViewById(R.id.num_2);
plusBtn = findViewById(R.id.plus_btn);
multiplyBtn = findViewById(R.id.multiply_btn);
divideBtn = findViewById(R.id.divide_btn);
minusBtn = findViewById(R.id.minus_btn);
tvAns = findViewById(R.id.ans);
plusBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int ansValue = plus_numbers();
tvAns.setText(String.valueOf(ansValue));
}
} );
multiplyBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int ansValue =multiply_numbers();
tvAns.setText(String.valueOf(ansValue));
}
} );
divideBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int ansValue = divide_numbers();
tvAns.setText(String.valueOf(ansValue));
}
} );
minusBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int ansValue = minus_numbers();
tvAns.setText(String.valueOf(ansValue));
}
} );
}
private int plus_numbers(){
int x = Integer.parseInt(number1.getText().toString());
int y = Integer.parseInt(number2.getText().toString());
return x + y;
}
private int multiply_numbers(){
int x = Integer.parseInt(number1.getText().toString());
int y = Integer.parseInt(number2.getText().toString());
return x * y;
}
private int divide_numbers(){
int x = Integer.parseInt(number1.getText().toString());
int y = Integer.parseInt(number2.getText().toString());
return x / y;
}
private int minus_numbers(){
int x = Integer.parseInt(number1.getText().toString());
int y = Integer.parseInt(number2.getText().toString());
return x - y;
}
}