gpt4 book ai didi

Android如何将TabLayout定位到屏幕底部(针对谷歌的 Material 设计库TabLayout)

转载 作者:行者123 更新时间:2023-11-29 22:49:57 24 4
gpt4 key购买 nike

我正在尝试使用与 ViewPager 结合的 TabLayout 来创建三个可滑动的 fragment 。但是,我遇到了一个问题:我希望 TabLayout 位于屏幕底部,但 ViewPager 强制它位于顶部

TabLayout 曾经在 android.support.design.widget 库中。但是,自引入 androidx 以来,这个库已经发生了变化。新库是 com.google.android.material.tabs.TabLayout

以前的(和过时的)帖子(example1example2)建议通过简单地创建一个垂直的 LinearLayout 来解决上述问题。并指定 ViewPagerTabLayout作为 LinearLayout 的两个独立元素.

上述解决方案不再可行,因为现在您必须指定 TabLayout成为 ViewPager 中的一个元素( reference ),像这样:

<androidx.viewpager.widget.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="48dp"
>
</com.google.android.material.tabs.TabLayout>
</androidx.viewpager.widget.ViewPager>

然后,“合并” ViewPagerTabLayout , setupWithViewPager(ViewPager vp)必须在 TabLayout 上调用方法实例:

ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
MainPagerAdapter mpa = new MainPagerAdapter(getSupportFragmentManager(), 3);
viewPager.setAdapter(mpa);

TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.setupWithViewPager(viewPager);

现在,我怎样才能巧妙地让 TabLayout 转到 ViewPager 的底部,无论是从 xml 代码还是以编程方式?

最佳答案

我找到了答案:简单地将 android:layout_gravity="bottom" 添加到 xml 中的 TabLayout

所以 xml 实现现在看起来像:

<androidx.viewpager.widget.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:layout_gravity="bottom"
>
</com.google.android.material.tabs.TabLayout>
</androidx.viewpager.widget.ViewPager>

关于Android如何将TabLayout定位到屏幕底部(针对谷歌的 Material 设计库TabLayout),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58057603/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com