From bf969cfc5f49d8e45f6c574d0339315309f62273 Mon Sep 17 00:00:00 2001
From: Howard Wu <40033067+Howard20181@users.noreply.github.com>
Date: Wed, 11 Aug 2021 10:24:27 +0800
Subject: [PATCH] [app] Fix the tabLayout style of the repository item fragment
(#883)
The repository item fragment and modules fragment use the same layout file, the previous commit missed this.
The changes in fragment_pager.xml are just formatting code.
---
.../manager/ui/fragment/RepoItemFragment.java | 12 +++++++++++
app/src/main/res/layout/fragment_pager.xml | 20 +++++++++----------
app/src/main/res/values-zh-rCN/strings.xml | 2 ++
3 files changed, 24 insertions(+), 10 deletions(-)
diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java
index 53455869..0b7f8498 100644
--- a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java
+++ b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java
@@ -48,6 +48,7 @@ import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.progressindicator.CircularProgressIndicator;
import com.google.android.material.snackbar.Snackbar;
+import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import org.lsposed.manager.App;
@@ -74,6 +75,7 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
+import java.util.stream.IntStream;
import rikka.recyclerview.RecyclerViewKt;
import rikka.widget.borderview.BorderNestedScrollView;
@@ -125,6 +127,16 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.Listene
});
int[] titles = new int[]{R.string.module_readme, R.string.module_releases, R.string.module_information};
new TabLayoutMediator(binding.tabLayout, binding.viewPager, (tab, position) -> tab.setText(titles[position])).attach();
+
+ binding.tabLayout.addOnLayoutChangeListener((view, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
+ ViewGroup vg = (ViewGroup) binding.tabLayout.getChildAt(0);
+ int tabLayoutWidth = IntStream.range(0, binding.tabLayout.getTabCount()).map(i -> vg.getChildAt(i).getWidth()).sum();
+ if (tabLayoutWidth <= binding.getRoot().getWidth()) {
+ binding.tabLayout.setTabMode(TabLayout.MODE_FIXED);
+ binding.tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
+ }
+ });
+
return binding.getRoot();
}
diff --git a/app/src/main/res/layout/fragment_pager.xml b/app/src/main/res/layout/fragment_pager.xml
index fcda3b2a..4d106c4d 100644
--- a/app/src/main/res/layout/fragment_pager.xml
+++ b/app/src/main/res/layout/fragment_pager.xml
@@ -22,9 +22,9 @@
android:id="@+id/snackbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:animateLayoutChanges="true"
app:consumeSystemWindowsInsets="start|end"
app:edgeToEdge="true"
- android:animateLayoutChanges="true"
app:fitsSystemWindowsInsets="start|end">
+ app:titleTextAppearance="@android:style/TextAppearance.Material.Widget.Toolbar.Title" />
+ app:tabGravity="center"
+ app:tabIndicatorAnimationMode="elastic"
+ app:tabMode="scrollable" />
@@ -69,11 +69,11 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
- android:src="@drawable/ic_baseline_add_24"
android:layout_margin="16dp"
- android:visibility="invisible"
+ android:contentDescription="@string/add_module_to_user"
android:outlineAmbientShadowColor="?colorAccent"
android:outlineSpotShadowColor="?colorAccent"
- app:layout_fitsSystemWindowsInsets="bottom"
- android:contentDescription="@string/add_module_to_user" />
+ android:src="@drawable/ic_baseline_add_24"
+ android:visibility="invisible"
+ app:layout_fitsSystemWindowsInsets="bottom" />
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index 3117747f..18af31dc 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -162,6 +162,7 @@
解决某些地区的 DNS 污染问题
主题颜色
应用中最常见的颜色
+ 系统强调色
强制应用在启动器中显示图标
在 Android 10 之后,应用(特别是 Xposed 模块)不被允许隐藏启动器图标。关闭本选项以禁用此功能。
系统
@@ -189,4 +190,5 @@
LSPosed]]>
已复制
¯\\\\_(ツ)_\/¯\n空空如也
+ 安装模块到用户