无非是响应事件没添加
viewPager+fragment 实现顶部标题栏 应该怎么实现?ViewPager+Fragment要实现顶部标题栏,需要以下几个步骤:
1.首先在activity_main.xml布局文件中加入ViewPager组件
android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
2.既然要实现左右java代码顶部标题的页面滑动,肯定要往ViewPager中添加一些Fragment,这里创建java代码顶部标题了3个Fragmentjava代码顶部标题的布局文件
这3个布局文件非常简单,跟Activity的布局用法一模一样,代码就不贴出来了,直接看Activity的java代码
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
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.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.PagerTitleStrip;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.ViewGroup;
public class MainActivity extends FragmentActivity {
private ViewPager m_vp;
private fragment1 mfragment1;
private fragment2 mfragment2;
private fragment3 mfragment3;
private ArrayListFragment fragmentList;
ArrayListStringtitleList= new ArrayListString();
private PagerTabStrip pagerTabStrip;
private PagerTitleStrip pagerTitleStrip;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
m_vp = (ViewPager)findViewById(R.id.viewpager);
pagerTabStrip=(PagerTabStrip) findViewById(R.id.pagertab);
//设置下划线的颜色
pagerTabStrip.setTabIndicatorColor(getResources().getColor(android.R.color.holo_green_dark));
//设置背景的颜色
pagerTabStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark));
//pagerTitleStrip=(PagerTitleStrip) findViewById(R.id.pagertab);
////设置背景的颜色pagerTitleStrip.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_dark));
mfragment1 = new fragment1();
mfragment2 = new fragment2();
mfragment3 = new fragment3();
fragmentList = new ArrayListFragment();
fragmentList.add(mfragment1);
fragmentList.add(mfragment2);
fragmentList.add(mfragment3);
titleList.add("第一页 ");
titleList.add("第二页");
titleList.add("第三页 ");
m_vp.setAdapter(new MyViewPagerAdapter(getSupportFragmentManager()));
}
public class MyViewPagerAdapter extends FragmentPagerAdapter{
public MyViewPagerAdapter(FragmentManager fm) {
super(fm);
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
return fragmentList.get(arg0);
}
@Override
public int getCount() {
return fragmentList.size();
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titleList.get(position);
}
}
}
3.需要设置一个Adapter,上面代码是继承了FragmentPagerAdapter,在里面重写了3个方法.往这个Viewpager中添加了要显示的3个页面fragment和对应的3个标题
4.Fragment中有个onCreateView方法,返回的是这个fragment的视图View,其他的生命周期方法都跟Activity一样,还要注意的是在回复View前一定要加入代码
5.运行程序运行效果:
关于Viewpager和Fragment还有很多其他很有用的方法,建议查看API详细了解
推荐阅读
- 虚拟游戏开发主要风险因素,虚拟游戏需要的技术
- jquery动态添加空格,jquery动态添加html
- 纽曼固态硬盘怎么样,纽曼固态硬盘怎么样啊
- 游戏开发模拟,游戏开发模拟器2
- scala和java代码 scala和java哪个性能好
- 现代拍摄用什么技术,现代拍摄用什么技术比较好
- 想玩赛车游戏,想玩赛车游戏怎么办
- linux调出终端命令 linux命令行打开终端
- chatgpt马斯克退出,马斯克宣布已退出脸书