Program Code
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="40sp"
android:textColor="@color/white"
android:padding="10dp"
android:layout_gravity="end"
android:id="@+id/input"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="60sp"
android:textColor="@color/white"
android:padding="10dp"
android:layout_gravity="end"
android:id="@+id/output"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@color/black"
android:layout_marginTop="130dp"
android:layout_gravity="bottom">
<include
android:layout_width="match_parent"
android:layout_height="match_parent"
layout="@layout/buttons_layout"/>
</RelativeLayout>
</LinearLayout>
[Link]
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#FF000000</color>
<color name="white">#FFFFFFFF</color>
<color name="purple_200">#FFBB86FC</color>
<color name="purple_500">#FF6200EE</color>
<color name="purple_700">#FF3700B3</color>
<color name="teal_700">#FF018786</color>
<color name="teal_200">#FF03DAC5</color>
<color name="Lavender">#ACB4F6</color>
</resources>
[Link]
<resources xmlns:tools="[Link]
<!-- Base application theme. -->
<style name="[Link]" parent="[Link]">
<!-- Customize your light theme here. -->
<item name="colorPrimary">@color/Lavender</item>
<item name="colorPrimaryVariant">@color/Lavender</item>
<item name="colorOnPrimary">@color/white</item>
<item name="colorSecondary">@color/teal_200</item>
<item name="colorSecondaryVariant">@color/teal_700</item>
<item name="colorOnSecondary">@color/black</item>
<item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
</style>
<style name="[Link]" parent="[Link]" />
</resources>
buttons_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="[Link]
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="[Link]
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:rowCount="5"
android:columnCount="4">
<[Link]
android:id="@+id/off"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="OFF"
android:textColor="#000000"
android:backgroundTint="#BFBDBD"
android:textSize="33sp"
android:layout_margin="3dp"
android:layout_row="0"
android:layout_column="0"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/clear"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="C"
android:textColor="#000000"
android:backgroundTint="#BFBDBD"
android:textSize="35sp"
android:layout_margin="3dp"
android:layout_row="0"
android:layout_column="1"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/percent"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="%"
android:textColor="#000000"
android:backgroundTint="#BFBDBD"
android:textSize="40sp"
android:layout_margin="3dp"
android:layout_row="0"
android:layout_column="2"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/division"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="/"
android:textColor="#FFFFFF"
android:backgroundTint="#FF9800"
android:textSize="40sp"
android:layout_margin="3dp"
android:layout_row="0"
android:layout_column="3"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b7"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="7"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="1"
android:layout_column="0"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b8"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="8"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="1"
android:layout_column="1"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b9"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="9"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="1"
android:layout_column="2"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/multiply"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="x"
android:textColor="#FFFFFF"
android:backgroundTint="#FF9800"
android:textSize="40sp"
android:layout_margin="3dp"
android:layout_row="1"
android:layout_column="3"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b4"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="4"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="2"
android:layout_column="0"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b5"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="5"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="2"
android:layout_column="1"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b6"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="6"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="2"
android:layout_column="2"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/subtract"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="-"
android:textColor="#FFFFFF"
android:backgroundTint="#FF9800"
android:textSize="40sp"
android:layout_margin="3dp"
android:layout_row="2"
android:layout_column="3"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="1"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="3"
android:layout_column="0"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b2"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="2"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="3"
android:layout_column="1"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b3"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="3"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="3"
android:layout_column="2"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/add"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="+"
android:textColor="#FFFFFF"
android:backgroundTint="#FF9800"
android:textSize="35sp"
android:layout_margin="3dp"
android:layout_row="3"
android:layout_column="3"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/b0"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="0"
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="4"
android:layout_column="0"
android:layout_columnSpan="2"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/dot"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="."
android:textColor="@color/white"
android:backgroundTint="#373737"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="4"
android:layout_column="2"
android:layout_columnWeight="1"/>
<[Link]
android:id="@+id/equal"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:text="="
android:textColor="@color/white"
android:backgroundTint="#FF9800"
android:textSize="30sp"
android:layout_margin="3dp"
android:layout_row="4"
android:layout_column="3"
android:layout_columnWeight="1"/>
</GridLayout>
</RelativeLayout>
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends AppCompatActivity
{
public static final char Addition='+';
public static final char Subtraction='-';
public static final char Multiplication='*';
public static final char Division='/';
public static final char Percent='%';
private char currentSymbol;
private double firstValue=[Link];
private double secondValue;
private TextView inputDisplay,outputDisplay;
private DecimalFormat decimalFormat;
private MaterialButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,dot,add,sub,mul,percent,div,clear,off,equal;
@Override
protected void onCreate(Bundle savedInstanceState)
{
[Link](savedInstanceState);
setContentView([Link].activity_main);
decimalFormat=new DecimalFormat("#.###########");
inputDisplay=findViewById([Link]);
outputDisplay=findViewById([Link]);
b0=findViewById([Link].b0);
b1=findViewById([Link].b1);
b2=findViewById([Link].b2);
b3=findViewById([Link].b3);
b4=findViewById([Link].b4);
b5=findViewById([Link].b5);
b6=findViewById([Link].b6);
b7=findViewById([Link].b7);
b8=findViewById([Link].b8);
b9=findViewById([Link].b9);
add=findViewById([Link]);
sub=findViewById([Link]);
mul=findViewById([Link]);
div=findViewById([Link]);
dot=findViewById([Link]);
clear=findViewById([Link]);
off=findViewById([Link]);
equal=findViewById([Link]);
percent=findViewById([Link]);
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"0");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"1");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"2");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"3");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"4");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"5");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"6");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"7");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"8");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+"9");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
allCalculation();
currentSymbol=Addition;
[Link]([Link](firstValue)+"+");
[Link](null);
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
allCalculation();
currentSymbol=Subtraction;
[Link]([Link](firstValue)+"-");
[Link](null);
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
allCalculation();
currentSymbol=Multiplication;
[Link]([Link](firstValue)+"x");
[Link](null);
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
allCalculation();
currentSymbol=Division;
[Link]([Link](firstValue)+"/");
[Link](null);
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
allCalculation();
currentSymbol=Percent;
[Link]([Link](firstValue)+"%");
[Link](null);
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
[Link]([Link]()+".");
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
if([Link]().length()>0)
{
CharSequence currentText=[Link]();
[Link]([Link](0,[Link]()-1));
}
else
{
firstValue=[Link];
secondValue=[Link];
[Link]("");
[Link]("");
}
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
finish();
}
});
[Link](new [Link]()
{
@Override
public void onClick(View v)
{
allCalculation();
[Link]([Link](firstValue));
firstValue=[Link];
currentSymbol='0';
}
});
private void allCalculation()
{
if()
{
secondValue=[Link]([Link]().toString());
[Link](null);
if(currentSymbol==Addition)
firstValue=[Link]+secondValue;
else if (currentSymbol==Subtraction)
firstValue=[Link]-secondValue;
else if (currentSymbol==Multiplication)
firstValue=[Link]*secondValue;
else if (currentSymbol==Division)
firstValue=[Link]/secondValue;
else if (currentSymbol==Percent)
firstValue=[Link]%secondValue;
}
else
{
try
{
firstValue=[Link]([Link]().toString());
}
catch (Exception e)
{
}
}
}
}
Output