Android Tab实现之ViewPager+FragmentActivity
2016-01-18 17:54
423 查看
1.界面需要extends FragmentActivity
2. 使用的是v4版本的Fragment
3.viewpager设置的adapter是FragmentPagerAdapter
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<include layout="@layout/bottom_menu" />
</LinearLayout>
2. 使用的是v4版本的Fragment
3.viewpager设置的adapter是FragmentPagerAdapter
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<include layout="@layout/bottom_menu" />
</LinearLayout>
package com.example.baidu.mydemos.demo1; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.widget.RadioGroup; import com.example.baidu.mydemos.R; import java.util.ArrayList; /** * Created by baidu on 15/12/31. */ //通过ViewPager和Fragment实现 public class DemoOneMenuThreeActivity extends FragmentActivity { private ViewPager viewPager; private FragmentPagerAdapter fragmentPagerAdapter; private ArrayList<Fragment> arrayListFragments; private RadioGroup rg_bottom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo1_3); rg_bottom = (RadioGroup) findViewById(R.id.rg_bottom); rg_bottom.check(R.id.rb_1); initFragments(); viewPager = (ViewPager) findViewById(R.id.vp); fragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); viewPager.setAdapter(fragmentPagerAdapter); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { switch (position) { case 0: rg_bottom.check(R.id.rb_1); break; case 1: rg_bottom.check(R.id.rb_2); break; case 2: rg_bottom.check(R.id.rb_3); break; } } @Override public void onPageScrollStateChanged(int state) { } }); rg_bottom.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.rb_1: viewPager.setCurrentItem(0); break; case R.id.rb_2: viewPager.setCurrentItem(1); break; case R.id.rb_3: viewPager.setCurrentItem(2); break; } } }); } class MyFragmentPagerAdapter extends FragmentPagerAdapter { public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return arrayListFragments.get(position); } @Override public int getCount() { return arrayListFragments.size(); } } public void initFragments() { arrayListFragments = new ArrayList<Fragment>(); arrayListFragments.add(new FragmentOneContent()); arrayListFragments.add(new FragmentTwoContent()); arrayListFragments.add(new FragmentThreeContent()); } }
相关文章推荐
- Android 如何支持平板和手机
- Android 风格与主题(style and theme)
- android bitmap图片下载三级缓存
- 常用的android弹出对话框 几乎包含了所有(1)
- Android中achartengine与ScrollView的冲突问题解决
- Android活动(Activity)状态与生命周期总结
- Android模拟器对应的电脑快捷键说明
- Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
- 类似美团的多条件筛选弹出框简单实现
- 2.6 Android 代码的严格检查
- 解释 Android 调用系统相机,在onActivityResult中接收的data为null的原因
- Android Native一处反调试
- Uri.parse()调用
- android中与Adapter相关的控件----ViewFlipper
- android中自定义dialog中有editText,无法显示输入法对话框的解决办法
- Android控件之Chronometer
- java.io.IOException:Can't read [F:\..\android-support-v4.jar] (No such file or directory)
- Android自定义照相机实现(拍照、保存到SD卡,利用Bundle在Acitivity交换数据)
- Android - SurfaceView + MediaPlayer实现分段视频无缝播放
- Mac下配置Android NDK