ViewPager和Tablayout

    xiaoxiao2022-07-07  183

    ViewPager和Tablayout

    布局文件主类第二个类第三个类二、三布局适配器

    布局文件

    <android.support.design.widget.TabLayout android:id="@+id/tables" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_below="@id/tables" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/pager" android:layout_above="@id/lay" > </android.support.v4.view.ViewPager> <LinearLayout android:id="@+id/lay" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_alignParentBottom="true" > <RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:id="@+id/t1" android:layout_width="match_parent" android:layout_height="match_parent" android:text="1" android:layout_weight="1" android:gravity="center" android:button="@null" android:drawableTop="@drawable/backgrounds" /> <RadioButton android:id="@+id/t2" android:layout_width="match_parent" android:layout_height="match_parent" android:text="2" android:layout_weight="1" android:gravity="center" android:button="@null" android:drawableTop="@drawable/back1" /> </RadioGroup> </LinearLayout>

    主类

    ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_demo); viewPager = findViewById(R.id.pager); ArrayList<Fragment> list = new ArrayList<>(); list.add(new Fragment1()); list.add(new Fragment2()); MyAdapter myAdapter = new MyAdapter(getSupportFragmentManager(), list); viewPager.setAdapter(myAdapter); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i1) { } @Override public void onPageSelected(int i) { if(i == 0){ RadioButton r1 = findViewById(R.id.t1); r1.setChecked(true); }else{ RadioButton r2 = findViewById(R.id.t2); r2.setChecked(true); } } @Override public void onPageScrollStateChanged(int i) { } }); }

    第二个类

    public class Fragment1 extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.left,container,false); } }

    第三个类

    public class Fragment2 extends Fragment { @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.right,container,false); } }

    二、三布局

    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ff0" > </android.support.constraint.ConstraintLayout> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f00" > </android.support.constraint.ConstraintLayout>

    适配器

    class MyAdapter extends FragmentPagerAdapter { ArrayList<Fragment> list; public MyAdapter(FragmentManager fm,ArrayList<Fragment> list) { super(fm); this.list = list; } @Override public Fragment getItem(int i) { return list.get(i); } @Override public int getCount() { return list.size(); }

    }

    效果图

    最新回复(0)