public class MainActivity extends AppCompatActivity { ArrayList<Fragment> fraarr = new ArrayList<>(); ArrayList<Button> btarr = new ArrayList<>(); private ViewPager vp; private Button bt1; private DrawerLayout drawerlayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); vp = (ViewPager) findViewById(R.id.vp); drawerlayout = (DrawerLayout) findViewById(R.id.drawerlayout); Button bt1 = (Button) findViewById(R.id.bt1); Button bt2 = (Button) findViewById(R.id.bt2); Button bt3 = (Button) findViewById(R.id.bt3); Button bt4 = (Button) findViewById(R.id.bt4); btarr.add(bt1); btarr.add(bt2); btarr.add(bt3); btarr.add(bt4); vpshuju(); vpspq vpspq = new vpspq(getSupportFragmentManager()); vp.setAdapter(vpspq); //点击变色
for(int y=0;y<btarr.size();y++){ Button button = btarr.get(y); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //获取点击ID int id = view.getId(); Log.e("chen", "onClick: ------"+id ); vp.setCurrentItem(id%btarr.size()); } });}
//滑动变色 vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { for(int i=0;i<btarr.size();i++){ if(i==position%btarr.size()){ Button button = btarr.get(i); button.setTextColor(Color.RED); }else{ btarr.get(i).setTextColor(Color.BLACK); } } } @Override public void onPageScrollStateChanged(int state) { } }); } class vpspq extends FragmentPagerAdapter{ public vpspq(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return fraarr.get(position); } @Override public int getCount() { return fraarr.size(); } }
//自己新建frament充当viewpager的数据源 public void vpshuju(){ yi yi = new yi(); er er = new er(); san san = new san(); si si = new si(); viewp viewp = new viewp(); fraarr.add(yi); fraarr.add(er); fraarr.add(san); fraarr.add(viewp); } }
//布局文件XML
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/vp" android:layout_width="wrap_content" android:layout_height="400dp"> </android.support.v4.view.ViewPager> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <Button android:text="你好啊" android:textColor="#cc0000" android:id="@+id/bt1" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" /> <Button android:text="我好啊" android:id="@+id/bt2" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" /> <Button android:text="大家好" android:id="@+id/bt3" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" /> <Button android:text="好好好" android:id="@+id/bt4" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" /> </LinearLayout>
//自己新建的Framnet 一个类一个布局文件进行关联
//yi
public class yi extends Fragment{ @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View inflate = View.inflate(getActivity(), R.layout.one, null); return inflate; } }//yi的布局文件 one
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:text="时的快感就能发" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>