package net.simplifiedcoding.androidtablayout.Activity;
import android.content.Context;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Adapter;
import android.widget.Button;
import android.widget.Toast;
import com.astuetz.PagerSlidingTabStrip;
import net.simplifiedcoding.androidtablayout.Adapter.Pager;
import net.simplifiedcoding.androidtablayout.R;
import java.util.Vector;
//Implementing the interface OnTabSelectedListener to our MainActivity
//This interface would help in swiping views
public class MainActivity extends AppCompatActivity implements TabLayout.OnTabSelectedListener {
Context context;
//#
final int[] icons = new int[]{R.drawable.homeicon, R.drawable.searchicoon, R.drawable.uploadicon, R.drawable.usericon};
//This is our tablayout
private TabLayout tabLayout;
//This is our viewPager
private ViewPager viewPager;
Button optionmenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//Adding toolbar to the activity
//Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
//setSupportActionBar(toolba
//Initializing the tablayout
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
viewPager = (ViewPager) findViewById(R.id.pager);
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final PagerSlidingTabStrip tabStrip=(PagerSlidingTabStrip)findViewById(R.id.pagerslidingtabstrip);
//tabStrip.setViewPager(Pager);
//Adding the tabs using addTab() method
tabLayout.addTab(tabLayout.newTab().setText(""));
tabLayout.addTab(tabLayout.newTab().setText(""));
tabLayout.addTab(tabLayout.newTab().setText(""));
tabLayout.addTab(tabLayout.newTab().setText(""));
tabLayout.getTabAt(0).setIcon(icons[0]);
tabLayout.getTabAt(1).setIcon(icons[1]);
tabLayout.getTabAt(2).setIcon(icons[2]);
tabLayout.getTabAt(3).setIcon(icons[3]);
tabLayout.getTabAt(0).getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
tabLayout.getTabAt(1).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
tabLayout.getTabAt(2).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
tabLayout.getTabAt(3).getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
//Initializing viewPager
//Creating our pager adapter
Pager adapter = new Pager(getSupportFragmentManager(), tabLayout.getTabCount());
//Adding adapter to pager
viewPager.setAdapter(adapter);
//tabLayout.setupWithViewPager(viewPager);
// tabStrip.setOnPageChangeListener((ViewPager.OnPageChangeListener) this );
viewPager.setCurrentItem(0);
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
//tabLayout.setupWithViewPager(viewPager);
//tabLayout.setScrollIndicators(position);
//tabStrip.setViewPager(viewPager);
//tabLayout.setScrollIndicators(position);
}
@Override
public void onPageSelected(int position) {
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
tabLayout.setOnTabSelectedListener(this);
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
// super.onTabSelected(tab);
tab.getIcon().setColorFilter(Color.WHITE, PorterDuff.Mode.SRC_IN);
//int tabIconColor = ContextCompat.getColor(context, R.color.tabselectedIconcolor);
//tab.getIcon().setColorFilter(tabIconColor, PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
tab.getIcon().setColorFilter(Color.parseColor("#a8a8a8"), PorterDuff.Mode.SRC_IN);
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
}
<LinearLayout
android:id="@+id/main_layout"
android:orientation="vertical"
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:background="@color/colorPrimary"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Activity.MainActivity">
<!-- our toolbar -->
<!-- our tablayout to display tabs -->
<Toolbar
android:layout_width="match_parent"
android:layout_height="10dp"
android:background="@color/colorPrimary">
</Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_marginTop="4dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabIndicatorColor="#ffffff"
app:tabIndicatorHeight="3dp"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
<!-- View pager to swipe views -->
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:background="@color/colorPrimary"
android:layout_width="match_parent"
android:layout_height="fill_parent">
<com.astuetz.PagerSlidingTabStrip
android:id="@+id/pagerslidingtabstrip"
android:layout_width="match_parent"
android:layout_height="0dip" />
</android.support.v4.view.ViewPager>
H
</LinearLayout>
这是我的布局文件。当我使用
Tabsrtip.setupwithviewpager它显示rosource文件中的错误。
或不幸的是应用程序停止了。
我使用了tablayout.setupwithviewpager
它还显示错误。
Beloy是我的java文件。
最佳答案
采用 :
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
在您的情况下,此
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {...
是错的。