Articles of android viewpager

ViewPager滚动半屏

我有一个片段列表,我必须放在ViewPager中(到目前为止没问题)。 ArrayList fragmentList = new ArrayList(); fragmentList.add(new fragment1()); fragmentList.add(new fragment2()); fragmentList.add(new fragment3()); fragmentList.add(new fragment4()); FragmentAdapter mAdapter = new FragmentAdapter( mFragmentManager, fragmentList); mPager = (ViewPager) view.findViewById(R.id.pager_items_list); mPager.setCurrentItem(0); mPager.setAdapter(mAdapter); mPager.setOnPageChangeListener(pageChangeListener); 适配器 public class FragmentAdapter extends FragmentStatePagerAdapter { ArrayList fragmentsList; public FragmentAdapter(FragmentManager fm, ArrayList fragmentsList) { super(fm); this.fragmentsList = fragmentsList; } @Override public int getCount() { return fragmentsList.size(); […]

如何避免重新创建片段到ViewPager?

我正在使用一个包含5页的FragmentStatePagerAdapter的ViewPager 。 在第一页中,我有一个带有项目的ListView。 当我在ViewPager的最后一页更改,然后我回到第一页时,我的ListView为空,因为已重新创建了适配器。 Android总是调用下一个方法:onAttach(),onCreate(),onCreateView(),onViewCreated(),onActivityCreated(),onStart()和onResume()。 我想不要使用ViewPager.setOffscreenPageLimit()方法来避免我的页面被销毁。 还有其他解决方案吗? 我想要的行为与Facebook相同。 我做错了什么? 如何将数据保存在ListView中? 我的FragmentStatePageAdapter的代码: public class AdapterMain extends FragmentStatePagerAdapter { List fragments = new ArrayList(); public AdapterMain(FragmentManager fm) { super(fm); fragments.add(new FragmentShop()); fragments.add(new FragmentSearch()); fragments.add(new FragmentSell()); fragments.add(new FragmentNotification()); fragments.add(new FragmentProfile()); } @Override public Fragment getItem(int position) { return fragments.get(position); } @Override public int getCount() { return fragments.size(); } […]

片段在ViewPager上可见时启动animation

我正在使用ViewPager和FragmentStatePagerAdapter,我希望在片段可见且仅在可见时才在片段中启动animation。 问题是当片段是用户当前看到的片段之后的片段时animation开始。 我将animation代码从“onActivityCreated”片段函数移动到“onStart”片段函数,甚至移动到“onResume”片段函数,但同样的事情发生了。 基本上我需要等待片段成为用户看到的用于启动某些代码的页面。 我怎样才能做到这一点? 提前致谢。

将ViewPager与Fragments一起使用时,会在滑动时销毁碎片

我的应用程序有一个ViewPager,其适配器返回三个片段。 每个Fragment都会在onCreateView中从Web加载一个数据列表。 让我们称这些片段为A,B,C。 打开包含viewPager的活动后,将加载片段A和B. 但现在只有A可见。 因此,如果我向右滑动,则B可见,C在场景后面加载。 如果我再次向右滑动,则可以看到C. 问题是,片段A的onDestroyView()被调用,所有加载的数据都消失了! 因此,如果我回到片段A,则再次调用A的onCreateView(),并再次从Web加载A的数据。 与Fragment一起使用时,它是ViewPager的默认行为吗? 是否可以将片段活着(通过不调用onDestroyView()),即使它不可见? 谢谢

在ViewPager中,在滑动到第3个选项卡时,tab1中的子片段消失

我在FragmentStatePagerAdapter中有3个选项卡。 我有一个标签1的片段,它动态地在相对布局中为其’linearlayout’容器添加视图。 我在tab 1片段中动态添加一些视图。 我还在该linearLayout容器中添加了一个完整的片段,其中包含其他视图。 这很好..每件事都很好。 但是当我去第3页然后回来。 所有观点都在那里。 但那个完整的片段消失了~~ 编辑 它从tab1消失,并出现在tab2中的视图下方,其中添加了另一个子片段。 首先,我在tab1和tab2中有一个listFragment。 基于listItem单击我在每个选项卡中加载一个片段,tab1和2中的两个片段在xml下面膨胀相同并添加动态视图,但在某些情况下,我在xml中给出的线性布局中添加一个完整的片段而不是视图。 当我必须在选项卡1和tab2中的两个新添加的片段中添加两个片段之后,只有列表,并滑动到tab3时出现问题。 回来了。 ‘tab1主片段’中的片段消失并出现在’tab2主片段’中的片段下方 这是viewpager,我通过方法setItem(片段,位置)更改不同的片段: public static class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter { public static ArrayList tabs_fragments = new ArrayList( 3); public ScreenSlidePagerAdapter(FragmentManager fm, ArrayList tabs) { super(fm); ScreenSlidePagerAdapter.tabs_fragments = tabs; } @Override public Fragment getItem(int arg0) { return tabs_fragments.get(arg0); } @Override public int […]

ViewPager中的Android Master / Detail流程

我遇到了一个我无法解决的问题,我google了很多但找不到解决方案。 在我的应用程序中,我有一个包含3页的ViewPager。 这些页面应该是碎片。 这没关系。 但是,其中两个页面必须是主/明细流(一个用于朋友列表,一个用于新闻订阅)。 当我使用eclipse 2片段创建主/细节流时,会创建2个活动。 ItemListActivity(需要显示的那个)实现了片段的Callbacks,这是一个Activity,但ViewPager只接受片段内部的片段。 所以问题是:如何将主/细节流放在ViewPager中? 非常感谢所有帮助! 我在这里完全没有想法。 谢谢

PagerTabStrip中的一些问题和困难

我已经实现了一个可滚动的标签+滑动,一切正常。 但是我有一些与当前PagerTabStrip相关的问题: 我不能把目前的头衔变成大胆的 2.在渲染视图时,无法选择我想要显示的默认选项卡(例如:位置为2的选项卡),例如Google Play应用中的标签 3.第一个和最后一个选项卡分别在左侧和右侧有一个边距,我可以将它设置为0dp吗? 这是我可以为标签设置样式的方法: Java: strip = (PagerTabStrip) findViewById(R.id.pager_tab_strip); strip.setTabIndicatorColorResource(R.color.light_blue); strip.setDrawFullUnderline(true); 布局: 任何人都能帮助我3分吗? 谢谢。

在fragment中调用时,getTag()始终返回null

我有一个问题,因为当我在片段中调用它时,getTag()方法返回null,这是我创建的ViewPager选项卡布局的一部分。 码 import java.util.ArrayList; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ListView; import android.widget.Toast; public class HistoryFragment extends Fragment { ListView listView; HistoryAdapter adapter; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View history = inflater.inflate(R.layout.fragment_history, container, false); ArrayList arrayOfData = new ArrayList(); adapter = new HistoryAdapter(getActivity().getBaseContext(), […]

如何将viewPager的方向从左向右颠倒?

我有几个视图的viewPager。 viewPager的默认行为是首先显示第一个项目,然后从右向左滑动显示当前视图的第二个视图等。 我想要的行为是,在显示第一个项目后, 从左向右滑动将显示当前项目的下一个视图。 我搜索了很多聪明的方法来实现这个但没有结果.. 提前致谢。

如果设置了PageTransformer,则在滚动时ViewPager似乎重新启用clipChildren

我有一个ViewPager,其clipToPadding和clipChildren都设置为false。 寻呼机中的项目具有阴影效果,该效果在每个项目下方绘制,超出其边界。 当寻呼机是静态时,这很好用: 但是,当在页面之间设置animation时,子项被剪裁,就像设置了clipChildren一样: 仅在设置PageTransformer时才会出现此行为。