Tablayout
MainActivity.xml
<?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"
tools:context=".TabViewpager">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="60dp"
android:gravity="center">
<Button
android:layout_margin="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/home"
android:text="home"/>
<Button
android:id="@+id/chat"
android:layout_margin="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="chat"/>
<Button
android:id="@+id/status"
android:layout_margin="5dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="status"/>
</LinearLayout>
<androidx.viewpager.widget.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/view_pager"/>
</LinearLayout>
MainActivity.java
package com.example.myapplication10;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.PagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.example.myapplication10.Adapter.Fragment_Tab;
import com.google.android.material.tabs.TabLayout;
public class TabViewpager extends AppCompatActivity {
private ViewPager view_pager;
Button status, chat, home;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tab_viewpager);
status = findViewById(R.id.status);
chat = findViewById(R.id.chat);
home = findViewById(R.id.home);
view_pager = findViewById(R.id.view_pager);
Fragment_Tab fragment_tab = new Fragment_Tab(TabViewpager.this, getSupportFragmentManager());
view_pager.setAdapter(fragment_tab);
view_pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
switch (position) {
case 0:
home.setTextColor(getColor(R.color.white));
chat.setTextColor(getColor(R.color.black));
status.setTextColor(getColor(R.color.black));
break;
case 1:
home.setTextColor(getColor(R.color.black));
chat.setTextColor(getColor(R.color.white));
status.setTextColor(getColor(R.color.black));
break;
case 2:
home.setTextColor(getColor(R.color.black));
chat.setTextColor(getColor(R.color.black));
status.setTextColor(getColor(R.color.white));
break;
}
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
home.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
view_pager.setCurrentItem(0);
}
});
chat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
view_pager.setCurrentItem(1);
}
});
status.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
view_pager.setCurrentItem(2);
}
});
}
}
FragmentAdapter.java
package com.example.myapplication10.Adapter;
import android.app.Activity;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import com.example.myapplication10.Fragment.BottomFragment;
import com.example.myapplication10.Fragment.HomeFragment;
import com.example.myapplication10.TabViewpager;
public class Fragment_Tab extends FragmentPagerAdapter {
Activity activity;
public Fragment_Tab(TabViewpager tabViewpager, @NonNull FragmentManager fm) {
super(fm);
activity = tabViewpager;
}
@NonNull
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
HomeFragment homeFragment = new HomeFragment();
return homeFragment;
case 1:
BottomFragment bottomFragment = new BottomFragment();
return bottomFragment;
case 2:
HomeFragment fragment1 = new HomeFragment();
return fragment1;
default:
return null;
}
}
@Override
public int getCount() {
return 3;
}
}
0 Comments