在本文中,我们将学习如何在应用程序中使用ViewPager添加TabLayout 。 TabLayout 提供水平布局来显示选项卡。如果使用TabLayout ,则同时使用Fragment ,因为Fragment重量轻,如果添加更多Fragment ,应用程序可以在单个屏幕上拥有更多功能。每当用户单击选项卡时,它都会导致一个 Fragment 到另一个 Fragment 的交易。 ViewPager 用于在选项卡之间滑动。 WhatsApp 、 Facebook等是带有 ViewPager 的 TabLayout 的一个很好的例子。这就是TabLayout 的样子。
方法:
- 通过右键单击Java包创建一个AlgorithmFragment ,
选择新 -> 片段 -> 选择Fragment(Blank) 。 - 按照上述步骤处理CourseFragment和LoginFragment 。
- 现在在AlgorithmFragment.xml文件中添加以下代码。这里在布局中添加了一个 TextView。
- 现在在CourseFragment.xml文件中添加以下代码。这里在布局中添加了一个 textView。
- 现在在LoginFragment.xml文件中添加以下代码。这里在布局中添加了一个 textView。
- 现在通过扩展FragmentPagerAdapter类为我们的 ViewPager 创建一个适配器。在这个类中,我们将覆盖三个方法getItem() 、 getCount()和getPageTitle() 。 getItem 方法给出相对于位置的片段,getCount 方法给出存在的片段总数,getPageTitle 方法给出片段的标题。
- 在MainActivity 中添加以下代码。 Java文件。在这个文件中,我们设置了我们的适配器并使用 ViewPager 附加了我们的 TabLayout。
AlgorithmFragment.xml
CourseFragment.xml
LoginFragment.xml
ViewPagerAdapter.java
package org.geeksforgeeks.gfgtablayout; import androidx.annotation.NonNull; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentPagerAdapter; public class ViewPagerAdapter extends FragmentPagerAdapter { public ViewPagerAdapter( @NonNull FragmentManager fm) { super(fm); } @NonNull @Override public Fragment getItem(int position) { Fragment fragment = null; if (position == 0) fragment = new AlgorithmFragment(); else if (position == 1) fragment = new CourseFragment(); else if (position == 2) fragment = new LoginFragment(); return fragment; } @Override public int getCount() { return 3; } @Override public CharSequence getPageTitle(int position) { String title = null; if (position == 0) title = "Algorithm"; else if (position == 1) title = "Courses"; else if (position == 2) title = "Login"; return title; } }
MainActivity.java
package org.geeksforgeeks.gfgtablayout; import androidx.appcompat.app.AppCompatActivity; import androidx.viewpager.widget.ViewPager; import android.os.Bundle; import android.widget.Toolbar; import com.google.android.material.tabs.TabLayout; public class MainActivity extends AppCompatActivity { TabLayout tabLayout; ViewPager viewPager; ViewPagerAdapter viewPagerAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.view_pager); tabLayout = findViewById(R.id.tabs); viewPagerAdapter = new ViewPagerAdapter( getSupportFragmentManager()); viewPager.setAdapter(viewPagerAdapter); // It is used to join TabLayout with ViewPager. tabLayout.setupWithViewPager(viewPager); } }
输出:
想要一个更快节奏和更具竞争力的环境来学习 Android 的基础知识吗?
单击此处前往由我们的专家精心策划的指南,旨在让您立即做好行业准备!