先高亮一个问题向大家请教,谢谢大家!就是用PagerTabStripe实现时,title总是在文字的中间,怎么能让标题在view的左上角呢?谢谢大家!图是在随便找的,就是怎么让这个“Nearby”显示在最左边呢?
已经用ViewPager 和PagerTabStrip 实现了页面滑动和tab滑动,要求实现无限循环滑动,纠结了很久,想到了一个不算办法的办法,即把adapter 中getcount 函数返回值设很大,具体如下:
mport java.util.Locale;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerTitleStrip;
/* viewpager 实现无限滑动
* @author:Jessica
*/
public class FragmentAdapter extends FragmentPagerAdapter{
private Context mContext;
public FragmentAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
} @Override
public Fragment getItem(int position) {
Fragment fragment;
int newposition;
if(position>=0) newposition=(position+400)%4;
else newposition = (-position)%4;
//0,1,2,3时显示的每一个页面
switch ( newposition) {
case 0:fragment = new ColFragment();
return fragment;
case 1:fragment = new FriFregment();
return fragment;
case 2:fragment = new HotFregment();
return fragment;
case 3:fragment = new CatFragment();
return fragment;
default : return null;
}
//return fragment;
}
@Override
public int getCount() {
//return 4;
//返回一个很大的值,可以设定viewpager显示范围很大就可以无限循环,当然也不用这么大。。。
return Integer.MAX_VALUE;
}
@Override
public CharSequence getPageTitle(int position) {
//因为一共有4个页面待显示,所以position对4取余
int newposition;
if(position>=0) newposition=(position+400)%4;
else newposition = (-position)%4;
switch ( newposition) {
case 0:
return mContext.getString(R.string.about_col);
case 1:
return mContext.getString(R.string.about_friend);
case 2:
return mContext.getString(R.string.about_hot);
case 3:
return mContext.getString(R.string.about_cat);
default : return null;
}
}
}
但是这时第一张图是不能向左划的,所以在MainActivity中onCreat 中要加一句,设定当前position 不是零,是需要显示的view的倍数就可以,大小够用就行,这样初始也是第一个页面。
mfViewPager.setCurrentItem(400);
当然也可以设成如下,也可以实现第一张图也能左画,只是这时第一张图不一定是我们想要显示的第一张图。
mfViewPager.setCurrentItem(mFragmentAdapter.getCount()/2); //<pre code_snippet_id="229272" snippet_file_name="blog_20140311_3_5135167" class="java" name="code">//mFragmentAdapter 是上面 <span style="font-family:Arial, Helvetica, sans-serif;">FragmentAdapter的一个实例化对象。</span>