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; } }
Output
Now you can run this project.
Conclusion
We 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