[app] Set tabLayout scrollable (#880)

This commit is contained in:
Howard Wu 2021-08-11 01:16:24 +08:00 committed by GitHub
parent acb5b34f2f
commit b7ee496016
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 0 deletions

View File

@ -93,6 +93,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import rikka.core.res.ResourcesKt;
import rikka.insets.WindowInsetsHelperKt;
@ -208,6 +209,15 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
}
}
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(binding.tabLayout.MODE_FIXED);
binding.tabLayout.setTabGravity(binding.tabLayout.GRAVITY_FILL);
}
});
binding.fab.setOnClickListener(v -> {
var pickAdaptor = new ModuleAdapter(null, true);
var position = binding.viewPager.getCurrentItem();

View File

@ -52,6 +52,8 @@
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="@dimen/tab_layout_height"
app:tabMode="scrollable"
app:tabGravity="center"
android:background="@android:color/transparent"
app:tabIndicatorAnimationMode="elastic" />
</LinearLayout>