Articles of android viewpager

图库:选中项目中的效果

我需要一起滚动项目,所选项目应该向下扩展一部分。 我目前正在使用一个图库(我尝试使用viewflow和viewpager,但这些项目之间有很大的空间),但我需要知道如何才能实现此效果。 我有2个想法,但我不知道如何实现它。 1)可扩展部分是一个LinearLayout,其visibility = off,当选择该项时,该布局应该是可见的。 (图库没有“onItemSelectedListener”) 2)将每个元素视为一个片段(一旦我使用了一个使用它的Viewpager, https://github.com/mrleolink/SimpleInfiniteCarousel ) 它不一定是画廊,任何想法都是受欢迎的 我正在开展一项活动。

在Android上的ViewPager中替换当前片段

我有一个ViewPager ,如果发生某个动作,我必须替换第一个Fragment 。 public static class PagerAdapter extends FragmentStatePagerAdapter{ private TempChannel latestChannel; private VideosFragment.SortType sortType; public PagerAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { switch (position){ case 0: if(latestChannel == null) { return new LatestVideosFragment(); }else{ return VideosFragment.getVideosFragment(latestChannel, sortType); } case 1: return new LiveVideosFragment(); case 2: return new ConversationsFragment(); } return […]

ViewPager里面的片段

我正在尝试使用新的Android支持设计库将一个viewpager添加到一个片段。 我有布局的xml代码,如下所示: 相应的java类如下: public class Tracks extends Fragment { ViewPager viewPager; TabLayout tabLayout; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.tracks, container, false); viewPager = (ViewPager) view.findViewById(R.id.viewpager); tabLayout = (TabLayout) view.findViewById(R.id.tabLayout); AppCompatActivity activity = (AppCompatActivity) getActivity(); assert activity.getSupportActionBar() != null; activity.getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.app_theme))); return view; } @Override public void […]

处理键盘导航箭头

在三星平板电脑上,我们有以下键盘: 当右下角箭头出现clic时,在视图分页器中,片段被更改。 我想拦截此事件或从键盘上删除箭头。 可能吗 ? 我尝试使用onKeyUp和onKeyDown方法拦截keyevent,但它不起作用: if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_RIGHT || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_LEFT) { return true; } 我的问题和这里一样

当我第二次打开父片段时,我的Viewpager崩溃了

一些信息:我有一个片段,其中包含一个包含三个片段的viewpager。 我第一次打开这个片段时,viewpager工作正常。 我第二次尝试打开这个片段然后崩溃跟随堆栈跟踪 注意:这发生在kitkat 19 API以上,其工作正常 父片段内的ViewPager设置代码 private void setupViewPager(ViewPager viewPager) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { adapter = new ViewPagerAdapter(getChildFragmentManager()); } else { adapter = new ViewPagerAdapter(getFragmentManager()); } adapter.addFrag(fragment1 , “Abc”); adapter.addFrag(fragment2, “Bcd”); adapter.addFrag(fragment3, “Cdf”); viewPager.setAdapter(adapter); viewPager.setOffscreenPageLimit(2); myTabs.setupWithViewPager(viewPager); } 我的viewpager适配器 class ViewPagerAdapter extends android.support.v13.app.FragmentPagerAdapter { private final List mFragmentList = new ArrayList(); private final […]

如何使用tabContentStart从设备屏幕中间启动内容

我正在使用TabLayout和ViewPager 我想从屏幕中间开始标签内容,因此如果只有一个标签,它将与屏幕正中对齐(水平),并且所选标签将始终位于中心。

如何在onLoadFinish回调方法中提交FragmentPagerAdapter中的Fragment事务?

我想通知ViewPagerAdapter在Loader.onLoadFinish回调函数中更改了数据集。 它被阻止了,因为可能会保存片段的状态。 从LoaderManager.LoaderCallbacks.onLoadFinished(Loader loader,D data)方法文档: 请注意,通常,在此调用中,不允许应用程序提交片段事务,因为它可能在保存活动状态后发生。 我怎样才能克服这个问题? 如何检查Activity是哪个状态并提交Fragment事务?

使用ViewPager时,“java.lang.IllegalStateException:无法更改片段标记”错误#setCurrentItem()

我正在尝试使用ViewPager + FragmentPagerAdapter.切换ViewPager + FragmentPagerAdapter. 我目前正在使用最新的Android支持包v4 我的应用中有5个标签。 当我选择第四个标签时,应用程序突然退出并说“无法更改片段的标记~~”。 我没有尝试替换布局xml文件中包含的Fragment,所以我无法弄清楚原因。 以下是发生错误的代码: @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) { // When the given tab is selected, switch to the corresponding page in // the ViewPager. mViewPager.setCurrentItem(tab.getPosition()); } 下面是我正在使用的FragmentPagerAdapter的片段 @Override public Fragment getItem(int i) { if (fragment_list.get(i) == null) { fragment_list.add(i, getFragment(i)); } return fragment_list.get(i); } private […]

导航回活动时ViewPager + SurfaceView =长延迟

基本上标题是什么, 我的应用程序主要包含一个使用FragmentStatePagerAdapter的ViewPager 当我向FragmentStatePagerAdapter添加一系列SurfaceViews时会出现问题。 仅仅为了测试目的,我没有以任何方式inheritanceSurfaceViews。 当我浏览几页时,点击“home”,然后返回活动,整个设备在渲染任何内容之前冻结一两秒钟。 我可以在从背包中取出后恢复所需的时间内多次启动和完成应用程序。 我知道应用程序正在运行,因为在第一次screendraw最终发生时,几个AsyncTasks几乎已经完成了。 我知道这些AsyncTasks不会导致问题,因为我已将它们删除无效。 当我将SurfaceViews更改为Views ,问题完全消失。 当我使用我的实际SurfaceViews(我的项目不可协商)时,会出现此问题。 多个设备上也会出现此问题。 在这一点上,我认为错误完全在于ViewPager,但我不知道该怎么办,因为我需要那个接口组件。 任何帮助将不胜感激! 编辑: 为了澄清,SurfaceViews / Views表示添加到FragmentStatePagerAdapter的片段视图。

Android View Pager以错误的方式摆弄

我在android view-pager(ACL的r4)中发现了一个有趣的bug。 当在较旧或较慢的设备上滚动手指太快/离开屏幕边缘时,速度跟踪器将以错误的方式投射视图寻呼机。 我可以在原版Galaxy Tab,HTC Desire,Nexus One,旧金山,HTC Hero上重现。 打开谷歌+,市场或具有相当变化的视图寻呼机实现的东西。 如果您转到最左侧的页面,然后轻轻地将手指拉过屏幕的右边缘,您可以使视图寻呼机向右跳(与拖动方向相反的方向) 。 我需要进行更多调查,但这看起来速度跟踪器无法跟上速度较慢的设备。 当然,当从左向右快速滚动时,这可以使视图寻呼机跳转。 尝试新市场(3.3+)从一边走到另一边,看到令人讨厌的结果! 通过扩展类来修复任何想法。我认为屏幕可能会提供奇怪的结果,当很多正在进行并可能缺少一些MotionEvent,因为我发现它几乎不可能在较新的设备上复制。 (Nexus S,三星GSII,Sensation)。 编辑:此问题已从ACL v6解决 谢谢,克里斯