Tablayout with Viewpager in Andfroid....|| Custom tab Layout with View PAGER IN ANDROID...

 Tablayout with Viewpager in Andfroid....|| Custom tab Layout with View PAGER IN ANDROID...

 


in Main Xml do this...

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1"
tools:context=".activities.TabLayout">



<androidx.viewpager.widget.ViewPager
android:layout_weight=".9"
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="SpeakableTextPresentCheck">

</androidx.viewpager.widget.ViewPager>

<com.google.android.material.tabs.TabLayout
android:layout_weight=".1"
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/red"
app:tabIndicatorColor="@color/red"
app:tabRippleColor="@null"
app:tabSelectedTextColor="@color/white"
app:tabTextColor="@color/black"
tools:ignore="SpeakableTextPresentCheck" />

</LinearLayout>

 Then Go to Class do this..

package com.daizzyinfosys.onlyleaningpurpose.activities;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;

import com.daizzyinfosys.onlyleaningpurpose.adapters.View_PagerAdapter;
import com.daizzyinfosys.onlyleaningpurpose.databinding.ActivityTabLayoutBinding;
import com.daizzyinfosys.onlyleaningpurpose.fragments.OrderEntryFragment;
import com.daizzyinfosys.onlyleaningpurpose.fragments.PromoFragment;
import com.daizzyinfosys.onlyleaningpurpose.fragments.ReviewFragment;

public class TabLayout extends AppCompatActivity {

ActivityTabLayoutBinding binding;
View_PagerAdapter adapters;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

binding = ActivityTabLayoutBinding.inflate(getLayoutInflater());
View view = binding.getRoot();
setContentView(view);

adapters=new View_PagerAdapter(getSupportFragmentManager(),3);
adapters.AddFragments(new OrderEntryFragment(),"title");
adapters.AddFragments(new ReviewFragment(),"title");
adapters.AddFragments(new PromoFragment(),"title");

binding.viewPager.setAdapter(adapters);
binding.tabLayout.setupWithViewPager(binding.viewPager);

}

@Override
public void onBackPressed() {

if (binding.viewPager.getCurrentItem() == 2) {

binding.viewPager.setCurrentItem(binding.viewPager.getCurrentItem() - 2,false);

}
else if (binding.viewPager.getCurrentItem() == 1)
{
binding.viewPager.setCurrentItem(binding.viewPager.getCurrentItem() - 1,false);
}
else{
super.onBackPressed();
finish();

}

}


}

Then Create A Adapter...

package com.daizzyinfosys.onlyleaningpurpose.adapters;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;

import java.util.ArrayList;

public class View_PagerAdapter extends FragmentPagerAdapter {

ArrayList<Fragment> fragments = new ArrayList<Fragment>();
ArrayList<String> titles = new ArrayList<String>();

public View_PagerAdapter(@NonNull FragmentManager fm, int behavior) {
super(fm, behavior);
}

@NonNull
@Override
public Fragment getItem(int position) {

return fragments.get(position);

}

@Override
public int getCount() {

return fragments.size();
}

public void AddFragments(Fragment fragment ,String title) {
fragments.add(fragment);
titles.add(title);
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {
switch (position) {
case 0: {
return "Order Entry";

}
case 1: {
return "Review";
}
case 2: {

return "Promo";
}
default:
return null;
}
}
}

 this is Complete code tnxx...



Comments

Popular posts from this blog

API

How to get latitude longitude simply in Android using Address

Manifest