android - 如何在以编程方式滚动时禁用 tabLayout 滚动动画?
问题描述
我在活动开始时以编程方式更改选项卡布局的位置,但是在以参数方式更改选项卡布局位置时,它会提供从第 0 个选项卡到我要切换到的选项卡的滚动动画
我正在使用的代码是
new Handler().postDelayed(() -> Objects.requireNonNull
(binding.tabLayout.getTabAt(5)).select(), 100);
我也试过
binding.tabLayout.setSmoothScrollingEnabled(false);
仍然每次它都会给出我不想要的滚动动画。有没有可能实现这一目标?
解决方案
你指的是TabLayout的下划线滚动动画吗?你可以设置
app:tabIndicatorHeight="0dp"
举个例子:
<android.support.design.widget.TabLayout
android:id="@+id/comtabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
app:tabIndicatorHeight="0dp"
app:tabPaddingStart="0dp"
app:tabPaddingEnd="0dp"
app:tabMode="fixed"
app:tabGravity="fill"
android:background="@android:color/white" />
但是如果你指的是由于viewpager而发生的选项卡的内容,那么在点击选项卡时你需要使用viewpager的这个方法:
mViewPager.setCurrentItem(position, false)
第二个参数是 smoothScroll 如果为 false,则禁用滚动动画
推荐阅读
- spring - 为什么我添加 apache poi 依赖项后 maven pom.xml 文件会显示错误?
- django - 现有电子邮件的查询在数据库中且不为空
- sqlite - SQLLite 系统表
- solr - 如何阻止 Hybris 索引项目类型?
- java - Android:如何知道用户是否在 Google Play 中定义了付款方式(信用卡...)?
- javascript - React dropzone 似乎没有将文件发送到我的 PHP 端点
- reactjs - TypeScript 错误:“窗口”类型上不存在属性“X”
- wpf - 以 Streamgeometry 作为图像的 MenuItem
- angular - 角度@input不将数据传递给组件
- elasticsearch - Elasticsearch 脚本:添加新数组失败