Today we will understand how to create a tab layout and create 2 tabs together. One thing will be named, you will remember and one will be named, how you can redeem and create separate fragments of both.
Copy the code given below and add it stepwise to your Android Studio project.
1. Step Activity (MainActivity.java)
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.Fragment;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TabLayout tabLayout = findViewById(R.id.tabLayout);
ViewPager2 viewPager = findViewById(R.id.viewPager);
// Set up the adapter
viewPager.setAdapter(new ViewPagerAdapter(this));
// Attach TabLayout with ViewPager2
new TabLayoutMediator(tabLayout, viewPager, (tab, position) -> {
tab.setText(position == 0 ? "Things to Remember" : "How to Redeem");
}).attach();
}
}
2. Step Create Adapter Class (ViewPagerAdapter.java)
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
public class ViewPagerAdapter extends FragmentStateAdapter {
public ViewPagerAdapter(@NonNull FragmentActivity fragmentActivity) {
super(fragmentActivity);
}
@NonNull
@Override
public Fragment createFragment(int position) {
return position == 0 ? new ThingsToRememberFragment() : new HowToRedeemFragment();
}
@Override
public int getItemCount() {
return 2; // Number of tabs
}
}
3. Step (activity_main.xml)
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
4. Step Create Fragments Simplified (ThingsToRememberFragment.java)
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class ThingsToRememberFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
TextView textView = new TextView(getContext());
textView.setText("Things to Remember");
textView.setTextSize(18);
return textView;
}
}
5. Step Create Fragments Simplified (HowToRedeemFragment.java)
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class HowToRedeemFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
TextView textView = new TextView(getContext());
textView.setText("How to Redeem");
textView.setTextSize(18);
return textView;
}
}
OutputNow you can run this project.ConclusionWe will tell you how to implement it step by step in your project so that you can create your desired Tab layout. If you still face any problem then you can contact us or visit Android community.

0 Comments