永发信息网

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

答案:1  悬赏:20  手机版
解决时间 2021-01-24 19:11
android fragment viewpager 选项卡下面的滑动条怎么设置居中
最佳答案
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详细了解
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
(26分)民主是人类政治文明发展的成果,也是
复印照相(复印照相)地址有知道的么?有点事想
平安旅社(旧县国土资源所西北)怎么去啊,我要
小明从家到学校骑车需20分钟,一天有2公里修
取得证券业从业资格的人员,可以通过证券经营
听说荣耀9和苹果7对比?那一款好呢?
蚂蚁借呗还完了20笔多久恢复额度的?怎么我的
类似为了N的日剧
求苯酐与硫酸反应的方程式!
宜家宾馆(团结中路)地址在什么地方,我要处理
广告装饰地址好找么,我有些事要过去
我们的冬季校服中,男生和女生都有一条校服长
三个月大的阿拉斯加犬可以啃鸡骨头吗?
天长市滁州双王卤菜怎么去啊,谁知道地址啊
读亚洲地区图,完成下列各题。(12分)(1)A
推荐资讯
悬浇法施工时,预应力混凝土梁体一般分为()大
新人求问:爆箭穿手的都是在什么情况下发生的
《熊出没》在我国被评为“优秀国产动漫”,而
45℃双刀切角机怎么切的准
生化危机4 爱丽丝超能力?
易小钱这个理财已经做了多久了?
用银行存款偿还应付账款属于筹资活动的现金流
磊欣鞋店怎么去啊,我要去那办事
公历1982年9月27号是什么星座?
天友鲜牛奶淳源有机奶带甜味吗
莱芜市莱城区方下镇何官庄幼儿园地址有知道的
怎么关心老婆?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?