Fragment標籤頁

1.佈局
<android.support.v4.widget.DrawerLayout android:layout_height=“match_parent”
android:layout_width=“match_parent”
android:id="@+id/drawer"
xmlns:android=“http://schemas.android.com/apk/res/android”>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity=""
    >

    <android.support.v4.view.ViewPager
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/pager"
        android:layout_weight="1"
        />
    <RadioGroup
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/rag"
        android:orientation="horizontal"
        android:gravity="center"
        >
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ra1"
            android:button="@null"
            android:drawableTop="@drawable/sel_mes"
            android:text="影片"
            android:checked="true"
            android:layout_weight="1"
            android:gravity="center"
            />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ra2"
            android:button="@null"
            android:drawableTop="@drawable/sel_see"
            android:text="影院"
            android:layout_weight="1"
            android:gravity="center"
            />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ra3"
            android:button="@null"
            android:drawableTop="@drawable/sel_star"
            android:text="會員"
            android:layout_weight="1"
            android:gravity="center"
            />
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/ra4"
            android:button="@null"
            android:drawableTop="@drawable/sel_peo"
            android:text="設置"
            android:layout_weight="1"
            android:gravity="center"
            />
    </RadioGroup>

</LinearLayout>

<fragment
    class="com.example.zhanghaokuan1026.frag.Fragce"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:id="@+id/fragmentce"
    android:layout_gravity="start"
    />

</android.support.v4.widget.DrawerLayout>
2.Activiy
public class MainActivity extends FragmentActivity {

private ViewPager pager;
private RadioGroup group;
private ArrayList<Fragment> fragments;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    //找控件
    pager = findViewById(R.id.pager);
    group = findViewById(R.id.rag);
    //創建存放fragment的集合
    fragments = new ArrayList<>();
    //添加到集合
    fragments.add(new Frag01());
    fragments.add(new Frag02());
    fragments.add(new Frag03());
    fragments.add(new Frag04());
    //設置適配器
    pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int i) {
            return fragments.get(i);
        }

        @Override
        public int getCount() {
            return fragments.size();
        }
    });
    //實現聯動
    pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int i, float v, int i1) {

        }

        @Override
        public void onPageSelected(int i) {
            group.check(group.getChildAt(i).getId());

        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });
    //判斷展示那個頁面
    group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            switch (checkedId){
                case R.id.ra1:
                    pager.setCurrentItem(0);
                    break;
                case R.id.ra2:
                    pager.setCurrentItem(1);
                    break;
                case R.id.ra3:
                    pager.setCurrentItem(2);
                    break;
                case R.id.ra4:
                    pager.setCurrentItem(3);
                    break;
            }
        }
    });
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章