diff --git a/app/build.gradle b/app/build.gradle
index 2ae9496..fc2d500 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -22,6 +22,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
+ implementation 'com.android.support:support-v4:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
diff --git a/app/src/main/java/com/mrjeus/calculator/CalculatorFragment.java b/app/src/main/java/com/mrjeus/calculator/CalculatorFragment.java
new file mode 100644
index 0000000..282613a
--- /dev/null
+++ b/app/src/main/java/com/mrjeus/calculator/CalculatorFragment.java
@@ -0,0 +1,225 @@
+package com.mrjeus.calculator;
+
+import android.content.Context;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+import android.widget.TextView;
+
+public class CalculatorFragment extends Fragment {
+ View view;
+ private TextView mTxtInput;
+ private TextView mTxtOutput;
+
+ private Button mBtnNumber0;
+ private Button mBtnNumber1;
+ private Button mBtnNumber2;
+ private Button mBtnNumber3;
+ private Button mBtnNumber4;
+ private Button mBtnNumber5;
+ private Button mBtnNumber6;
+ private Button mBtnNumber7;
+ private Button mBtnNumber8;
+ private Button mBtnNumber9;
+ private Button mBtnDot;
+
+ private Button mBtnAdd;
+ private Button mBtnSub;
+ private Button mBtnDiv;
+ private Button mBtnMul;
+
+ private Button mBtnResult;
+ private Button mBtnPercent;
+ private Button mBtnAC;
+ private Button mBtnDEL;
+ private Button mBtnNagPos;
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ view = inflater.inflate(R.layout.fragment_calculator,container,false);
+ initWidget();
+ setClick();
+ return view;
+ }
+
+ public void initWidget() {
+ mTxtInput = (TextView) view.findViewById(R.id.text_view_in_put);
+ mTxtOutput = (TextView) view.findViewById(R.id.text_view_out_put);
+
+ mBtnNumber0 = (Button) view.findViewById(R.id.button_0);
+ mBtnNumber1 = (Button) view.findViewById(R.id.button_1);
+ mBtnNumber2 = (Button) view.findViewById(R.id.button_2);
+ mBtnNumber3 = (Button) view.findViewById(R.id.button_3);
+ mBtnNumber4 = (Button) view.findViewById(R.id.button_4);
+ mBtnNumber5 = (Button) view.findViewById(R.id.button_5);
+ mBtnNumber6 = (Button) view.findViewById(R.id.button_6);
+ mBtnNumber7 = (Button) view.findViewById(R.id.button_7);
+ mBtnNumber8 = (Button) view.findViewById(R.id.button_8);
+ mBtnNumber9 = (Button) view.findViewById(R.id.button_9);
+ mBtnDot = (Button) view.findViewById(R.id.button_dot);
+
+ mBtnAdd = (Button) view.findViewById(R.id.button_add);
+ mBtnSub = (Button) view.findViewById(R.id.button_sub);
+ mBtnDiv = (Button) view.findViewById(R.id.button_div);
+ mBtnMul = (Button) view.findViewById(R.id.button_mul);
+
+ mBtnResult = (Button) view.findViewById(R.id.button_result);
+ mBtnPercent = (Button) view.findViewById(R.id.button_percent);
+ mBtnNagPos = (Button) view.findViewById(R.id.button_neg_pos);
+ mBtnAC = (Button) view.findViewById(R.id.button_ac);
+ mBtnDEL = (Button) view.findViewById(R.id.button_del);
+ }
+
+ public void setClick(){
+ mBtnNumber0.setOnClickListener(click);
+ mBtnNumber1.setOnClickListener(click);
+ mBtnNumber2.setOnClickListener(click);
+ mBtnNumber3.setOnClickListener(click);
+ mBtnNumber4.setOnClickListener(click);
+ mBtnNumber5.setOnClickListener(click);
+ mBtnNumber6.setOnClickListener(click);
+ mBtnNumber7.setOnClickListener(click);
+ mBtnNumber8.setOnClickListener(click);
+ mBtnNumber9.setOnClickListener(click);
+ mBtnDot.setOnClickListener(click);
+
+ mBtnAdd.setOnClickListener(click);
+ mBtnSub.setOnClickListener(click);
+ mBtnDiv.setOnClickListener(click);
+ mBtnMul.setOnClickListener(click);
+
+ mBtnAC.setOnClickListener(click);
+ mBtnPercent.setOnClickListener(click);
+ mBtnNagPos.setOnClickListener(click);
+ mBtnDEL.setOnClickListener(click);
+ mBtnResult.setOnClickListener(click);
+ }
+
+ View.OnClickListener click = new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ switch (v.getId()) {
+ case R.id.button_0:
+ mTxtInput.append("0");
+ break;
+ case R.id.button_1:
+ mTxtInput.append("1");
+ break;
+ case R.id.button_2:
+ mTxtInput.append("2");
+ break;
+ case R.id.button_3:
+ mTxtInput.append("3");
+ break;
+ case R.id.button_4:
+ mTxtInput.append("4");
+ break;
+ case R.id.button_5:
+ mTxtInput.append("5");
+ break;
+ case R.id.button_6:
+ mTxtInput.append("6");
+ break;
+ case R.id.button_7:
+ mTxtInput.append("7");
+ break;
+ case R.id.button_8:
+ mTxtInput.append("8");
+ break;
+ case R.id.button_9:
+ mTxtInput.append("9");
+ break;
+ case R.id.button_dot:
+ mTxtInput.append(".");
+ break;
+ case R.id.button_add:
+ mTxtInput.append("+");
+ break;
+ case R.id.button_sub:
+ mTxtInput.append("-");
+ break;
+ case R.id.button_div:
+ mTxtInput.append("/");
+ break;
+ case R.id.button_mul:
+ mTxtInput.append("*");
+ break;
+ case R.id.button_result:
+ //todo some thing
+ mTxtOutput.setText(resultNumber(mTxtInput.getText().toString()));
+ break;
+ case R.id.button_percent:
+
+ break;
+ case R.id.button_neg_pos:
+
+ break;
+ case R.id.button_ac:
+ mTxtInput.setText("");
+ break;
+ case R.id.button_del:
+ String numberAffterRemove = deleteNumber(mTxtInput.getText().toString());
+ mTxtInput.setText(numberAffterRemove);
+ break;
+ }
+ }
+ };
+ public String deleteNumber(String number) {
+ if (number.length() != 0) {
+ int length = number.length();
+ String mTem = number.substring(0, length - 1);
+ return mTem;
+ }
+ return null;
+ }
+
+ public String resultNumber(String input) {
+ String mNumber1 = "";
+ String mNumber2 = "";
+ double mResult = 0, mNum1, mNum2;
+ for (int i = 0; i < input.length(); i++) {
+ if (input.charAt(i) == '+') {
+ mNumber1 = input.substring(0, i);
+ mNum1 = Double.parseDouble(mNumber1);
+ mNumber2 = input.substring(i + 1, input.length());
+ mNum2 = Double.parseDouble(mNumber2);
+ mResult = mNum1 + mNum2;
+ return (String.valueOf(mResult));
+ }
+ if (input.charAt(i) == '-') {
+ mNumber1 = input.substring(0, i);
+ mNum1 = Double.parseDouble(mNumber1);
+ mNumber2 = input.substring(i + 1, input.length());
+ mNum2 = Double.parseDouble(mNumber2);
+ mResult = mNum1 - mNum2;
+ return (String.valueOf(mResult));
+ }
+ if (input.charAt(i) == '*') {
+ mNumber1 = input.substring(0, i);
+ mNum1 = Double.parseDouble(mNumber1);
+ mNumber2 = input.substring(i + 1, input.length());
+ mNum2 = Double.parseDouble(mNumber2);
+ mResult = mNum1 * mNum2;
+ return (String.valueOf(mResult));
+ }
+ if (input.charAt(i) == '/') {
+ mNumber1 = input.substring(0, i);
+ mNum1 = Double.parseDouble(mNumber1);
+ mNumber2 = input.substring(i + 1, input.length());
+ mNum2 = Double.parseDouble(mNumber2);
+ mResult = mNum1 / mNum2;
+ return (String.valueOf(mResult));
+ }
+ }
+ return String.valueOf(mResult);
+ }
+}
diff --git a/app/src/main/java/com/mrjeus/calculator/MainActivity.java b/app/src/main/java/com/mrjeus/calculator/MainActivity.java
index 2dd98e3..8915d7f 100644
--- a/app/src/main/java/com/mrjeus/calculator/MainActivity.java
+++ b/app/src/main/java/com/mrjeus/calculator/MainActivity.java
@@ -1,13 +1,20 @@
package com.mrjeus.calculator;
+import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
-
+ CalculatorFragment calculatorFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
+
+ calculatorFragment = new CalculatorFragment();
+ FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
+ fragmentTransaction.replace(R.id.frame_cal,calculatorFragment);
+ fragmentTransaction.commit();
}
}
+
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
index c7bd21d..c90c220 100644
--- a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -32,3 +32,4 @@
android:strokeColor="#00000000"
android:strokeWidth="1" />
+
diff --git a/app/src/main/res/drawable/border.xml b/app/src/main/res/drawable/border.xml
new file mode 100644
index 0000000..f9e14b8
--- /dev/null
+++ b/app/src/main/res/drawable/border.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/border_btn_left.xml b/app/src/main/res/drawable/border_btn_left.xml
new file mode 100644
index 0000000..22326bc
--- /dev/null
+++ b/app/src/main/res/drawable/border_btn_left.xml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
index d5fccc5..22fc77e 100644
--- a/app/src/main/res/drawable/ic_launcher_background.xml
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -168,3 +168,4 @@
android:strokeColor="#33FFFFFF"
android:strokeWidth="0.8" />
+
diff --git a/app/src/main/res/drawable/values/colors.xml b/app/src/main/res/drawable/values/colors.xml
new file mode 100644
index 0000000..1c10bfe
--- /dev/null
+++ b/app/src/main/res/drawable/values/colors.xml
@@ -0,0 +1,7 @@
+
+
+ #3F51B5
+ #303F9F
+ #FF4081
+
+
diff --git a/app/src/main/res/drawable/values/dimens.xml b/app/src/main/res/drawable/values/dimens.xml
new file mode 100644
index 0000000..ee28a32
--- /dev/null
+++ b/app/src/main/res/drawable/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 25sp
+ 75dp
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/values/strings.xml b/app/src/main/res/drawable/values/strings.xml
new file mode 100644
index 0000000..ed3b237
--- /dev/null
+++ b/app/src/main/res/drawable/values/strings.xml
@@ -0,0 +1,23 @@
+
+ Calculator
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ .
+ -
+ +
+ /
+ *
+ +/-
+ %
+ AC
+ DEL
+ =
+
diff --git a/app/src/main/res/drawable/values/styles.xml b/app/src/main/res/drawable/values/styles.xml
new file mode 100644
index 0000000..5885930
--- /dev/null
+++ b/app/src/main/res/drawable/values/styles.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 095d9d6..e67b108 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,8 +1,12 @@
-
-
+
+
+
diff --git a/app/src/main/res/layout/fragment_calculator.xml b/app/src/main/res/layout/fragment_calculator.xml
new file mode 100644
index 0000000..4571fda
--- /dev/null
+++ b/app/src/main/res/layout/fragment_calculator.xml
@@ -0,0 +1,188 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index eca70cf..6b78462 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -2,4 +2,4 @@
-
\ No newline at end of file
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
index eca70cf..6b78462 100644
--- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -2,4 +2,4 @@
-
\ No newline at end of file
+
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3ab3e9c..1c10bfe 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -4,3 +4,4 @@
#303F9F
#FF4081
+
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
new file mode 100644
index 0000000..9406e10
--- /dev/null
+++ b/app/src/main/res/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 25sp
+ 75dp
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 49d8cb9..ed3b237 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,3 +1,23 @@
Calculator
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+ .
+ -
+ +
+ /
+ *
+ +/-
+ %
+ AC
+ DEL
+ =
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 5885930..b3cf408 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,5 +1,4 @@
-
-
+