From 4689d945714517246c8815e18e2e228b16a5209b Mon Sep 17 00:00:00 2001 From: micheal Samuel Naeem Date: Sun, 20 Sep 2020 22:37:09 +0200 Subject: [PATCH] add rtl support to rectangle indicator --- .../sample/MainFragment.java | 5 ++ .../sample/RectIndicatorRtlFragment.java | 50 ++++++++++++++ sample/src/main/res/layout/fragment_main.xml | 6 ++ .../layout/fragment_rect_indecator_rtl.xml | 65 +++++++++++++++++++ sample/src/main/res/values/strings.xml | 1 + .../indicator/RectIndicator.java | 11 ++-- .../indicator/ViewPagerIndicator.java | 4 ++ 7 files changed, 138 insertions(+), 4 deletions(-) create mode 100644 sample/src/main/java/io/github/vejei/viewpagerindicator/sample/RectIndicatorRtlFragment.java create mode 100644 sample/src/main/res/layout/fragment_rect_indecator_rtl.xml diff --git a/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/MainFragment.java b/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/MainFragment.java index 98dd8a9..8de473e 100644 --- a/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/MainFragment.java +++ b/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/MainFragment.java @@ -35,5 +35,10 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat rectIndicatorButton.setOnClickListener(v -> { activity.addFragment(new RectIndicatorFragment()); }); + + Button rectIndicatorRtlButton = view.findViewById(R.id.button_main_rect_indicator_rtl); + rectIndicatorRtlButton.setOnClickListener(v -> { + activity.addFragment(new RectIndicatorRtlFragment()); + }); } } diff --git a/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/RectIndicatorRtlFragment.java b/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/RectIndicatorRtlFragment.java new file mode 100644 index 0000000..b733a3d --- /dev/null +++ b/sample/src/main/java/io/github/vejei/viewpagerindicator/sample/RectIndicatorRtlFragment.java @@ -0,0 +1,50 @@ +package io.github.vejei.viewpagerindicator.sample; + + +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import java.util.Arrays; +import java.util.List; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.fragment.app.Fragment; +import androidx.viewpager2.widget.ViewPager2; +import io.github.vejei.viewpagerindicator.indicator.RectIndicator; + +public class RectIndicatorRtlFragment extends Fragment { + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, + @Nullable Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_rect_indecator_rtl, container, false); + } + + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + MainActivity activity = (MainActivity) getActivity(); + if (activity == null) return; + + PageAdapter pageAdapter = new PageAdapter(); + ViewPager2 viewPager2 = view.findViewById(R.id.view_pager2); + viewPager2.setAdapter(pageAdapter); + pageAdapter.setData(Arrays.asList(activity.data)); + + RectIndicator rectIndicator = view.findViewById(R.id.rect_indicator); + rectIndicator.setWithViewPager2(viewPager2); + + RectIndicator squareIndicator = view.findViewById(R.id.square_indicator); + squareIndicator.setWithViewPager2(viewPager2); + + RectIndicator stadiumIndicator = view.findViewById(R.id.stadium_indicator); + stadiumIndicator.setWithViewPager2(viewPager2); + + List newData = Arrays.asList("Seventh", "Eighth", "Ninth"); + pageAdapter.append(newData); + } +} diff --git a/sample/src/main/res/layout/fragment_main.xml b/sample/src/main/res/layout/fragment_main.xml index 2a95f06..5c352e3 100644 --- a/sample/src/main/res/layout/fragment_main.xml +++ b/sample/src/main/res/layout/fragment_main.xml @@ -19,4 +19,10 @@ android:layout_height="wrap_content" android:text="@string/main_rect_indicator_button_text"/> +