ViewPager+Fragment的结合使用
来源:互联网 发布:淘宝网店出售评估 编辑:程序博客网 时间:2024/05/21 10:17
- 布局文件
<RadioGroup android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="1"> <RadioButton android:id="@+id/but1_main" android:button="@null" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:textSize="40dp" android:text="页面一"/> <RadioButton android:id="@+id/but2_main" android:button="@null" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40dp" android:text="页面二"/> <RadioButton android:id="@+id/but3_main" android:button="@null" android:layout_weight="1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="40dp" android:text="页面三"/> <RadioButton android:id="@+id/but4_main" android:button="@null" android:layout_weight="1" android:textSize="40dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="页面四"/> </RadioGroup> <android.support.v4.view.ViewPager android:id="@+id/vp_main" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="10"> </android.support.v4.view.ViewPager>
- 主方法:
public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private RadioGroup group; private RadioButton but1; private RadioButton but2; private ViewPager vp; private ArrayList<RadioButton> butlist; private RadioButton but3; private RadioButton but4; private ImageView image; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { but1= (RadioButton) findViewById(R.id.but1_main); but2= (RadioButton) findViewById(R.id.but2_main); but3 = (RadioButton) findViewById(R.id.but3_main); but4 = (RadioButton) findViewById(R.id.but4_main); butlist = new ArrayList<>(); butlist.add(but1); butlist.add(but2); butlist.add(but3); butlist.add(but4); //遍历所有的按钮,都设置点击监听事件 for (Button b: butlist) { b.setOnClickListener(this); } vp = (ViewPager) findViewById(R.id.vp_main); //因为myfragmentadapter需要一个fragmentmanager,所以创建出来传过去。 FragmentPagerAdapter myFragmentAdapter = new FragmentAdapter(getSupportFragmentManager());//给一个管理者 vp.setAdapter(myFragmentAdapter); vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { public void onPageSelected(int arg0) { //循环遍历所有的button //如果当前索引值和某一个but集合中的索引值一致,就讲该but颜色设置红色,其余的为黑色 for (int i = 0; i < butlist.size(); i++) { if (i==arg0) { butlist.get(i).setTextColor(Color.RED); }else { butlist.get(i).setTextColor(Color.BLACK); } } } public void onPageScrolled(int arg0, float arg1, int arg2) { } public void onPageScrollStateChanged(int arg0) { } }); } @Override public void onClick(View v) { switch (v.getId()) { //根据点钟but的索引值ID来判断哪一个but被点击,设置当前所在的页面。 case R.id.but1_main: vp.setCurrentItem(0); break; case R.id.but2_main: vp.setCurrentItem(1); break; case R.id.but3_main: vp.setCurrentItem(2); break; case R.id.but4_main: vp.setCurrentItem(3); break; default: break; } }}
适配器:
public class FragmentAdapter extends FragmentPagerAdapter { public FragmentAdapter(FragmentManager fm) { super(fm); // TODO Auto-generated constructor stub } @Override public Fragment getItem(int position) { Fragment fragment=null; switch (position) { case 0: fragment=new Fragment1(); break; case 1: fragment=new Fragment2(); break; case 2: fragment=new Fragment3(); break; case 3: fragment=new Fragment4(); break; default: break; } return fragment; } //界面 @Override public int getCount() { return 4; }}
- fragment类:
public class Fragment1 extends Fragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.f1,null); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); }}
就是这样,ok.
阅读全文
0 0
- ViewPager+Fragment的结合使用
- ViewPager+Fragment的结合使用
- ViewPager与Fragment结合的简单使用
- Android - Fragment+ViewPager结合使用
- ViewPager与Fragment结合使用
- TabLayout,ViewPager,Fragment结合使用
- TabLayout/ViewPager/Fragment结合使用
- ViewPager和Fragment的结合
- fragment与viewPager的结合
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- ViewPager+Fragment的结合使用,实现QQ界面的理解
- Android 关于ViewPager结合碎片Fragment的简单使用
- Fragment结合viewPager和下面4个页卡的使用
- Tab菜单栏:FragmentTabHost&ViewPager&Fragment的结合使用
- 【UGUI】代码设置锚点
- [NOIP2017模拟]permut
- java 多种方式判断文件是否为图片
- 类和对象-第七天
- OC语言学习02-构造方法与类方法
- ViewPager+Fragment的结合使用
- linux解决Tomcat内存溢出
- AndroidStudio历史记录找回本地修改代码
- 简单了解下Dubbo
- python--列表
- 好logo要具备这3个要素
- CTreeView右键弹出菜单
- 我为什么开始写博客了?
- DACL & SACL