永发信息网

android fragment viewpager 选项卡下面的滑动条怎么设置居中

答案:1  悬赏:20  手机版
解决时间 2021-01-24 19:11
  • 提问者网友:我是女神我骄傲
  • 2021-01-24 15:10
android fragment viewpager 选项卡下面的滑动条怎么设置居中
最佳答案
  • 五星知识达人网友:怙棘
  • 2021-01-24 16:20
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.既然要实现左右的页面滑动,肯定要往ViewPager中添加一些Fragment,这里创建了3个Fragment的布局文件

这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 ArrayList<Fragment> fragmentList;
ArrayList<String> titleList = new ArrayList<String>();
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 ArrayList<Fragment>();
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详细了解
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯