diff --git a/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt b/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt index 4bf169159f7941f6749787a3790b4d1a3cd13548..5ac4af271b4c99938b124e957bdfb5313dd2c6a3 100644 --- a/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt +++ b/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt @@ -11,6 +11,7 @@ import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log +import android.view.MenuItem import android.widget.Button import android.widget.Toast import androidx.core.content.ContentProviderCompat.requireContext @@ -48,7 +49,7 @@ class MainActivity : AppCompatActivity() { replaceFragment(TransactionPage(), HeaderTransaction()) - binding.bottomNavigationView.setOnNavigationItemSelectedListener { menuItem -> + binding.bottomNavigationView?.setOnNavigationItemSelectedListener { menuItem: MenuItem -> when (menuItem.itemId) { R.id.scan_cam -> {if(!isNetworkAvailable()){replaceFragment(NetworkLostPage(), HeaderScan())} else{replaceFragment(ScanPage(), HeaderScan())}} @@ -59,6 +60,18 @@ class MainActivity : AppCompatActivity() { } true } + + binding.horizontalNavigation?.setNavigationItemSelectedListener { menuItem : MenuItem -> + when (menuItem.itemId) { + R.id.scan_cam -> {if(!isNetworkAvailable()){replaceFragment(NetworkLostPage(), HeaderScan())} + else{replaceFragment(ScanPage(), HeaderScan())}} + R.id.graph -> replaceFragment(GraphPage(), HeaderGraf()) + R.id.settings -> replaceFragment(SettingsPage(), HeaderSettings()) + R.id.bill -> replaceFragment(TransactionPage(), HeaderTransaction()) + R.id.twibbon -> replaceFragment(TwibbonPage(), HeaderTwibbon()) + } + true + } } private fun isNetworkAvailable(): Boolean { diff --git a/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt b/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt index 9a61635054660cc79558e1566dd2f91f2c256658..efb189958c7434df33cf01f9669857100e4f15e2 100644 --- a/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt +++ b/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt @@ -361,7 +361,8 @@ class ScanPage : Fragment() { val mainActivity = activity as? MainActivity if (mainActivity != null) { - mainActivity.binding.bottomNavigationView.selectedItemId = R.id.bill + mainActivity.binding.bottomNavigationView?.selectedItemId = R.id.bill + mainActivity.binding.horizontalNavigation?.setCheckedItem(R.id.bill) mainActivity.replaceFragment(transactionPage, headerTransaction) } else { Log.e("ScanPage", "Activity is null. Cannot cast to MainActivity.") diff --git a/bondoman/app/src/main/res/layout-land/activity_main.xml b/bondoman/app/src/main/res/layout-land/activity_main.xml new file mode 100644 index 0000000000000000000000000000000000000000..2a39654bcebf342d893cb0b1fc5b6cb6909eba7e --- /dev/null +++ b/bondoman/app/src/main/res/layout-land/activity_main.xml @@ -0,0 +1,43 @@ +<?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" + tools:context=".MainActivity"> + + <FrameLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + android:id="@+id/header_layout"> + + </FrameLayout> + + <FrameLayout + android:id="@+id/frame_layout" + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/horizontalNavigation" + app:layout_constraintTop_toTopOf="parent"> + + </FrameLayout> + + <com.google.android.material.navigation.NavigationView + android:id="@+id/horizontalNavigation" + android:layout_width="65dp" + android:layout_height="match_parent" + android:background="@color/primary" + app:itemHorizontalPadding="20dp" + app:itemIconTint="@color/secondary" + app:itemTextColor="@color/secondary" + app:itemVerticalPadding="23dp" + app:layout_constraintStart_toStartOf="parent" + app:menu="@menu/bottom_nav"></com.google.android.material.navigation.NavigationView> + + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/bondoman/app/src/main/res/layout-land/fragment_graph_page.xml b/bondoman/app/src/main/res/layout-land/fragment_graph_page.xml new file mode 100644 index 0000000000000000000000000000000000000000..306adfa2737bf254f6a1027ec1dfc5a5bcbb2075 --- /dev/null +++ b/bondoman/app/src/main/res/layout-land/fragment_graph_page.xml @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="utf-8"?> +<ScrollView 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/primary" + tools:context=".GraphPage"> + + <androidx.constraintlayout.widget.ConstraintLayout + android:layout_width="match_parent" + android:layout_height="match_parent"> + + <!-- TODO: Update blank fragment layout --> + <include + android:id="@+id/header_layout" + layout="@layout/fragment_header_graf" + android:layout_width="match_parent" + android:layout_height="wrap_content" + /> + + <com.github.mikephil.charting.charts.PieChart + android:id="@+id/pie_chart" + android:layout_width="350dp" + android:layout_height="350dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.041" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/header_layout" + app:layout_constraintVertical_bias="1.0" + android:layout_marginStart="20dp"> + + </com.github.mikephil.charting.charts.PieChart> + + <TextView + android:id="@+id/persen_tumbas" + android:layout_width="300dp" + android:layout_height="wrap_content" + android:layout_marginTop="24dp" + android:background="@color/white" + android:drawableStart="@drawable/expenses_logo" + android:fontFamily="@font/font_poppins" + android:padding="10dp" + android:text="TUMBAS" + android:textColor="@color/secondary" + android:textSize="18dp" + android:textStyle="bold" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.935" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/header_layout" /> + + <ProgressBar + android:id="@+id/progress_tumbas" + style="?android:attr/progressBarStyleHorizontal" + android:layout_width="200dp" + android:layout_height="wrap_content" + android:layout_marginStart="100dp" + android:layout_marginEnd="50dp" + android:layout_marginTop="20dp" + app:layout_constraintBottom_toBottomOf="@+id/persen_tumbas" + app:layout_constraintEnd_toEndOf="@+id/persen_tumbas" + app:layout_constraintStart_toStartOf="@+id/persen_tumbas" + app:layout_constraintTop_toTopOf="@+id/persen_tumbas"> + + </ProgressBar> + + <TextView + android:id="@+id/persen_upah" + android:layout_width="300dp" + android:layout_height="wrap_content" + android:layout_marginTop="28dp" + android:background="@color/white" + android:drawableStart="@drawable/income_logo" + android:fontFamily="@font/font_poppins" + android:padding="10dp" + android:text="UPAH" + android:textColor="@color/secondary" + android:textSize="18dp" + android:textStyle="bold" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHorizontal_bias="0.935" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/persen_tumbas" /> + + <ProgressBar + android:id="@+id/progress_upah" + style="?android:attr/progressBarStyleHorizontal" + android:layout_width="200dp" + android:layout_height="wrap_content" + app:layout_constraintBottom_toBottomOf="@+id/persen_upah" + app:layout_constraintEnd_toEndOf="@+id/persen_upah" + app:layout_constraintStart_toStartOf="@+id/persen_upah" + app:layout_constraintTop_toTopOf="@+id/persen_upah" + android:layout_marginStart="100dp" + android:layout_marginEnd="50dp" + android:layout_marginTop="20dp"> + + </ProgressBar> + + </androidx.constraintlayout.widget.ConstraintLayout> +</ScrollView> \ No newline at end of file diff --git a/bondoman/app/src/main/res/menu/bottom_nav.xml b/bondoman/app/src/main/res/menu/bottom_nav.xml index b3cc3272faa8fabe970a506dddda2135c21a2acb..46e0e92ba2554f89e07a04daf6b5d2867b9891f6 100644 --- a/bondoman/app/src/main/res/menu/bottom_nav.xml +++ b/bondoman/app/src/main/res/menu/bottom_nav.xml @@ -6,7 +6,7 @@ android:layout_height="wrap_content" android:title="Transaction" android:id="@+id/bill" - android:icon="@drawable/baseline_newspaper_24"/> + android:icon="@drawable/baseline_newspaper_24" /> <item android:layout_width="wrap_content" android:layout_height="wrap_content"