From c82448228296020c524c929aaf20373e2e2c34b5 Mon Sep 17 00:00:00 2001 From: Aditya_WDI Date: Wed, 26 Jul 2023 20:49:03 +0530 Subject: [PATCH] . --- app/build.gradle | 2 + app/src/main/AndroidManifest.xml | 23 +- .../CaregiverDashActivity.java | 77 ++++++ .../mvvm/CaregiverMainViewModel.java | 13 + ...ent.java => PatientDashboardFragment.java} | 10 +- .../customsviews/HomeBottomNav.java | 36 +++ app/src/main/res/drawable/ic_cg_dash_bg.xml | 9 + app/src/main/res/drawable/shadow_up.xml | 12 + .../main/res/layout/caregiver_dashboard.xml | 64 +++++ .../res/layout/caregiver_dashboard_menu.xml | 20 ++ app/src/main/res/layout/home_bottom_nav.xml | 253 ++++++++++++++++++ ...ent.xml => patient_dashboard_fragment.xml} | 0 .../res/navigation/cp_dashboard_graph.xml | 2 +- app/src/main/res/values/dimens.xml | 6 + app/src/main/res/values/strings.xml | 1 + 15 files changed, 513 insertions(+), 15 deletions(-) create mode 100644 app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java create mode 100644 app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java rename app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/{CPDashboardFragment.java => PatientDashboardFragment.java} (73%) create mode 100644 app/src/main/java/com/ssb/simplitend/customsviews/HomeBottomNav.java create mode 100644 app/src/main/res/drawable/ic_cg_dash_bg.xml create mode 100644 app/src/main/res/drawable/shadow_up.xml create mode 100644 app/src/main/res/layout/caregiver_dashboard.xml create mode 100644 app/src/main/res/layout/caregiver_dashboard_menu.xml create mode 100644 app/src/main/res/layout/home_bottom_nav.xml rename app/src/main/res/layout/{caregiver_dashboard_fragment.xml => patient_dashboard_fragment.xml} (100%) create mode 100644 app/src/main/res/values/dimens.xml diff --git a/app/build.gradle b/app/build.gradle index 2b112d7..e65e546 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -88,6 +88,8 @@ dependencies { implementation 'com.googlecode.libphonenumber:libphonenumber:8.12.32' + implementation 'com.yarolegovich:sliding-root-nav:1.1.1' + implementation 'androidx.appcompat:appcompat:1.6.0' implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6b9d4b7..305b563 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,15 +5,15 @@ - + - + + + + + + + + + + - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java new file mode 100644 index 0000000..9804056 --- /dev/null +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/CaregiverDashActivity.java @@ -0,0 +1,77 @@ +package com.ssb.simplitend.caregiverdashboard; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.lifecycle.ViewModelProvider; + +import android.animation.ObjectAnimator; +import android.os.Bundle; +import android.os.Handler; +import android.view.MotionEvent; +import android.view.View; +import android.view.ViewTreeObserver; +import android.widget.Toast; + +import com.ssb.simplitend.R; +import com.ssb.simplitend.caregiverdashboard.mvvm.CaregiverMainViewModel; +import com.ssb.simplitend.databinding.CaregiverDashboardBinding; +import com.yarolegovich.slidingrootnav.SlidingRootNav; +import com.yarolegovich.slidingrootnav.SlidingRootNavBuilder; +import com.yarolegovich.slidingrootnav.callback.DragStateListener; +import com.yarolegovich.slidingrootnav.util.DrawerListenerAdapter; + +public class CaregiverDashActivity extends AppCompatActivity implements + DragStateListener{ + + // view binding + protected CaregiverDashboardBinding binding; + + protected CaregiverMainViewModel viewModel; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + binding = CaregiverDashboardBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); + + binding.btn.setOnClickListener(view -> { + ObjectAnimator objAnim = ObjectAnimator.ofFloat(view, "translationX", -100f); + objAnim.setDuration(100); + objAnim.start(); + }); + + initViews(); + + } + + private void initViews() { + + // viewmodel + viewModel = new ViewModelProvider(this).get(CaregiverMainViewModel.class); + + + // sliding navigation bar + viewModel.slidingRootNav = null; + viewModel.slidingRootNav = new SlidingRootNavBuilder(this) + .withMenuLayout(R.layout.caregiver_dashboard_menu) + .addDragStateListener(this) + .withToolbarMenuToggle(binding.toolbar) + .inject(); + + } + // slide bar drag callbacks + @Override + public void onDragStart() { + binding.getRoot().setRadius(30); + } + + @Override + public void onDragEnd(boolean isMenuOpened) { + if (isMenuOpened){ + binding.getRoot().setRadius(30); + }else{ + binding.getRoot().setRadius(0); + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java new file mode 100644 index 0000000..942bc86 --- /dev/null +++ b/app/src/main/java/com/ssb/simplitend/caregiverdashboard/mvvm/CaregiverMainViewModel.java @@ -0,0 +1,13 @@ +package com.ssb.simplitend.caregiverdashboard.mvvm; + +import androidx.lifecycle.ViewModel; + +import com.yarolegovich.slidingrootnav.SlidingRootNav; + +public class CaregiverMainViewModel extends ViewModel { + + public SlidingRootNav slidingRootNav; + + public CaregiverMainViewModel(){} + +} diff --git a/app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/CPDashboardFragment.java b/app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/PatientDashboardFragment.java similarity index 73% rename from app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/CPDashboardFragment.java rename to app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/PatientDashboardFragment.java index 532e4e8..40f5711 100644 --- a/app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/CPDashboardFragment.java +++ b/app/src/main/java/com/ssb/simplitend/careperson_dashboard/fragments/PatientDashboardFragment.java @@ -11,21 +11,21 @@ import androidx.fragment.app.Fragment; import androidx.navigation.Navigation; import com.ssb.simplitend.R; -import com.ssb.simplitend.databinding.CaregiverDashboardFragmentBinding; +import com.ssb.simplitend.databinding.PatientDashboardFragmentBinding; -public class CPDashboardFragment extends Fragment { +public class PatientDashboardFragment extends Fragment { // view binding - protected CaregiverDashboardFragmentBinding binding; + protected PatientDashboardFragmentBinding binding; - public CPDashboardFragment() { + public PatientDashboardFragment() { // required } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { - binding = CaregiverDashboardFragmentBinding.inflate(inflater, container, false); + binding = PatientDashboardFragmentBinding.inflate(inflater, container, false); clickEvents(); diff --git a/app/src/main/java/com/ssb/simplitend/customsviews/HomeBottomNav.java b/app/src/main/java/com/ssb/simplitend/customsviews/HomeBottomNav.java new file mode 100644 index 0000000..44516a5 --- /dev/null +++ b/app/src/main/java/com/ssb/simplitend/customsviews/HomeBottomNav.java @@ -0,0 +1,36 @@ +package com.ssb.simplitend.customsviews; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; +import android.widget.FrameLayout; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.ssb.simplitend.R; + +public class HomeBottomNav extends FrameLayout { + + + // constructors + public HomeBottomNav(@NonNull Context context) { + super(context); + initViews(); + } + + public HomeBottomNav(@NonNull Context context, @Nullable AttributeSet attrs) { + super(context, attrs); + initViews(); + } + + public HomeBottomNav(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + initViews(); + } + + private void initViews(){ + View view = inflate(getContext(), R.layout.home_bottom_nav, this); + } + +} diff --git a/app/src/main/res/drawable/ic_cg_dash_bg.xml b/app/src/main/res/drawable/ic_cg_dash_bg.xml new file mode 100644 index 0000000..134bd5a --- /dev/null +++ b/app/src/main/res/drawable/ic_cg_dash_bg.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/shadow_up.xml b/app/src/main/res/drawable/shadow_up.xml new file mode 100644 index 0000000..1a3e498 --- /dev/null +++ b/app/src/main/res/drawable/shadow_up.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/caregiver_dashboard.xml b/app/src/main/res/layout/caregiver_dashboard.xml new file mode 100644 index 0000000..857d016 --- /dev/null +++ b/app/src/main/res/layout/caregiver_dashboard.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + +