From 0ebe00d9dde47a8f3b4f736ccfbdd5952e846166 Mon Sep 17 00:00:00 2001 From: baharkhd Date: Sun, 9 Aug 2020 00:45:37 +0430 Subject: [PATCH] rtlMenuSidebar solved --- app/src/main/res/layout/activity_main.xml | 4 +++- .../com/sidemenu/util/ViewAnimator.java | 18 +++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 9ca433e..fea2a71 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -2,7 +2,9 @@ xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:layoutDirection="rtl" + > { - private final int ANIMATION_DURATION = 175; + private final int ANIMATION_DURATION = 250; public static final int CIRCULAR_REVEAL_ANIMATION_DURATION = 500; private AppCompatActivity appCompatActivity; - + private List list; private List viewList = new ArrayList<>(); @@ -58,13 +58,15 @@ public void showMenuContent() { viewMenu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - int[] location = {0, 0}; + int[] location = {appCompatActivity.getWindow().getDecorView().getWidth(), 0}; v.getLocationOnScreen(location); switchItem(list.get(finalI), location[1] + v.getHeight() / 2); } }); ((ImageView) viewMenu.findViewById(R.id.menu_item_image)).setImageResource(list.get(i).getImageRes()); - viewMenu.setVisibility(View.GONE); + + viewMenu.setVisibility(View.INVISIBLE); + viewMenu.setEnabled(false); viewList.add(viewMenu); animatorListener.addViewToContainer(viewMenu); @@ -112,8 +114,7 @@ private void setViewsClickable(boolean clickable) { private void animateView(int position) { final View view = viewList.get(position); view.setVisibility(View.VISIBLE); - FlipAnimation rotation = - new FlipAnimation(90, 0, 0.0f, view.getHeight() / 2.0f); + FlipAnimation rotation = new FlipAnimation(-90, 0, view.getWidth(), view.getHeight() / 2.0f); rotation.setDuration(ANIMATION_DURATION); rotation.setFillAfter(true); rotation.setInterpolator(new AccelerateInterpolator()); @@ -139,8 +140,7 @@ public void onAnimationRepeat(Animation animation) { private void animateHideView(final int position) { final View view = viewList.get(position); - FlipAnimation rotation = - new FlipAnimation(0, 90, 0.0f, view.getHeight() / 2.0f); + FlipAnimation rotation = new FlipAnimation(0, -90, view.getWidth(), view.getHeight() / 2.0f); rotation.setDuration(ANIMATION_DURATION); rotation.setFillAfter(true); rotation.setInterpolator(new AccelerateInterpolator()); @@ -185,4 +185,4 @@ public interface ViewAnimatorListener { public void addViewToContainer(View view); } -} +} \ No newline at end of file