viewPager+RadioGroup TableLayout側滑欄
package com.example.lianxi;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.example.lianxi.fragment.OneFragment;
import com.example.lianxi.fragment.ThreeFragment;
import com.example.lianxi.fragment.TwoFragment;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private RadioButton zt; private RadioButton fx; private RadioButton my; private RadioGroup rg; private ViewPager viewpager; private ArrayList<Fragment> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initView(); viewpager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i1) { } @Override public void onPageSelected(int i) { if (i==0){ rg.check(R.id.zt); } if (i==1){ rg.check(R.id.fx); } if (i==2){ rg.check(R.id.my); } } @Override public void onPageScrollStateChanged(int i) { } }); rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { if (checkedId==R.id.zt){ viewpager.setCurrentItem(0); } if (checkedId==R.id.fx){ viewpager.setCurrentItem(1); } if (checkedId==R.id.my){ viewpager.setCurrentItem(2); } } }); } private void initData() { list = new ArrayList<>(); list.add(new OneFragment()); list.add(new TwoFragment()); list.add(new ThreeFragment()); } private void initView() { zt = (RadioButton) findViewById(R.id.zt); fx = (RadioButton) findViewById(R.id.fx); my = (RadioButton) findViewById(R.id.my); rg = (RadioGroup) findViewById(R.id.rg); viewpager = (ViewPager) findViewById(R.id.viewpager); 設定介面卡 viewpager.setAdapter(new MyAdapter(getSupportFragmentManager())); } class MyAdapter extends FragmentPagerAdapter{ public MyAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int i) { return list.get(i); } @Override public int getCount() { return list.size(); } }
}
xml檔案
<android.support.v4.view.ViewPager
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/viewpager"
android:layout_above="@+id/rg"></android.support.v4.view.ViewPager>
package com.example.lianxi.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.lianxi.R;
import com.example.lianxi.adapter.MyAdapter;
import java.util.ArrayList;
import java.util.List;
public class OneFragment extends Fragment {
private TabLayout tabLayout;
private ViewPager viewpager;
private List fragmentList=new ArrayList<>();
private List title=new ArrayList<>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.one, null);
initData();
initView(view);
return view;
}
private void initData() {
fragmentList.add(new TjFragment());
fragmentList.add(new ZdFragment());
title.add("推薦");
title.add("站點");
}
private void initView(View view) {
tabLayout = (TabLayout) view.findViewById(R.id.tabLayout);
viewpager = (ViewPager) view.findViewById(R.id.viewpager);
viewpager.setAdapter(new MyAdapter(getChildFragmentManager(),fragmentList,title));
tabLayout.setupWithViewPager(viewpager);
}
}
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.TabLayout
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/tabLayout"></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:id="@+id/viewpager"></android.support.v4.view.ViewPager>