Articles of android viewpager

ActionBar BUG:使用SearchView后,列表模式导航不可见

项目演示了这个错误: https : //github.com/smarek/ActionBar-Navigation-Bug b.android.com上的Bugreport : http : //code.google.com/p/android/issues/detail? id = 51449 我目前正面临ActionBar的问题。 我们有一个ViewPager + PagerTitleStrip和3个片段。 用户流程: 打开申请 First Fragment已将导航模式设置为NAVIGATION_MODE_LIST 其他片段有NAVIGATION_MODE_STANDARD 所有片段都有SearchView的选项菜单项 转到第二个或第三个并打开搜索(点击搜索项) 是否关闭搜索视图(您只需滑动回到上一个片段) 转到第一个片段,看看,没有NAVIGATION_MODE_LIST 在第一个片段打开搜索并关闭它 导航列表再次可见 仅添加MainActivity的代码和布局项目是标准的Android应用程序项目minSdk 11,在创建主要活动时,选择空白活动并滑动视图+标题条 布局/ activity_main.xml中 COM /例子/项目/ MainActivity.java // imports ommited public class MainActivity extends FragmentActivity { SectionsPagerAdapter mSectionsPagerAdapter; ViewPager mViewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); […]

禁用PagerAdapter / ViewPager中的手势

首先抱歉我的英语不好。 我得到了一个有3个Views PagerAdapter 。 它工作正常。 我可以使用普通手势和Buttonclicks切换视图。 但我想禁用手势。 是否可以仅使用buttonClicks切换视图并禁用手势? 这是PagerAdapter : public class MyPagerAdapter extends PagerAdapter { public int getCount() { return 3; } public Object instantiateItem(View collection, int position) { LayoutInflater inflater = (LayoutInflater) collection.getContext() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); int resId = 0; switch (position) { case 0: resId = R.layout.back; break; case 1: resId = R.layout.stock; break; […]

使用viewpager折叠ToolBar布局

我正在使用带有viewpager的CollapsingBarLayout,而viewpager的片段正在使用listview,gridview。 这是我的代码: 具有listview,gridview的片段不会在折叠工具栏中向上滚动,我怎样才能实现这个工作.. 请帮帮我,非常感谢你先进…

Loader将结果传递给错误的片段

我有一个基于Android开发人员示例使用ActionBar选项卡滑动选项卡的活动。 每个选项卡显示一个片段,每个片段(实际上是SherlockFragment)通过自定义AsyncTaskLoader加载不同types的远程api请求。 问题是,如果您点击一个选项卡移动2个选项卡/页面,而您要离开的选项卡的片段(旧片段)正在加载结果,则该结果将传递到您移动到的选项卡的片段(新片段)。 在我的情况下,这会导致ClassCastException,因为预期的结果是不兼容的types。 在代码中,情况的要点是: 装载机: public class FooLoader extends AsyncTaskLoader public class BarLoader extends AsyncTaskLoader 片段: public class FooFragment extends Fragment implements LoaderManager.LoaderCallbacks { … @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getLoaderManager().initLoader(0, null, this); } public Loader onCreateLoader(int id, Bundle args) { return new FooLoader(); } … } public class BarFragment extends Fragment […]

带有工具栏和TabLayout的ViewPager的高度错误

我在AppBarLayout下面有一个ViewPager(带有工具栏和TabLayout)。 我无法理解为什么加载的片段的高度超过可用空间,即使没有这么大的元素,使标签可滚动。 这是主要的布局xml: 正如你在我的Fragment中看到的那样,我有一个带有layout_alignParentBottom的按钮,但我猜它正在拉伸viewpager的高度太多。 这里是设计视图的布局:

保存/恢复片段状态android

我正在尝试创建一个使用Jack Wharton的ViewPager库( 此处 )的应用程序,仅使用每个页面的图像(类似于Prixing( 此处 )主屏幕)。 一切正常,除了片段中的saveInstance。 在Jack Wharton的例子中,他将文本存储在名为mContent的Stringvariables中,并在onCreate中恢复它,但在我的情况下,我该怎么办? 保存/恢复位图?! 任何客观的答案将不胜感激! 我对使用应用程序的Fragment很新,因为我看到的每一个例子,只提供了基础知识,而且对于更复杂的问题,它变得越来越困难。 PS。 如果有用的知道,我正在使用CirclePageIndicator。 目前的片段代码: public final class SpecialOfferFragment extends Fragment { private int imageResourceId; public static SpecialOfferFragment newInstance(int i) { //probably I’ll use a bitmap(downloaded) as parameter instead of using static images SpecialOfferFragment fragment = new SpecialOfferFragment(); fragment.imageResourceId = i; return fragment; } @Override […]

在ViewFlipper或ViewPager中滑动图像

我想一次显示一张图片。 在滑动时,我想用滑动效果更改我的图像。 我读到了ViewPager和ViewFlipper。 我甚至有一个使用ViewFlipper这样做的例子。 只需要正确解释ViewFlipper的使用位置以及ViewPager的使用位置。 在我看来,当你想要扫描一堆具有某些function的片段而不是只是刷一些图像时,更有可能使用ViewPager。 但是,如果有人认为应该使用ViewPager而不是ViewFlipper只是为了扫描一堆图像,请简要说明原因? 为什么一个人应该使用ViewPager而不是ViewFlipper。 哪一个应该更有效率? 那么这两个目的是什么? 你能举例说明(代码)刷图像吗?

动态设置ViewPager高度

我试图将ViewPager放在不同高度的不同碎片上。 我知道wrap_content不能与ViewPager一起使用,所以我试图以dinamically方式设置寻呼机高度。 我在页面侦听器中设置寻呼机高度: … indicator.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int selected) { final View view = fragments[selected].getView(); if (view != null) { pager.setLayoutParams(new LayoutParams( LayoutParams.MATCH_PARENT, view .getMeasuredHeight())); } } 不幸的是它没有用,因为在Fragment上由getMeasuredHeight()返回的值是错误的。 我究竟做错了什么?

使用支持库v4修订版11的嵌套片段

今天早上支持库的最新版本( Android Support Package v4修订版11 )应该支持嵌套片段。 在我的项目中,我有一个包含ViewPager的片段,这个ViewPager包含几个片段。 我正在调用getSupportFragmentManager()而不是getFragmentManager来使用支持库的FragmentManager 。 问题是我仍然遇到崩溃,如: java.lang.IllegalStateException: Recursive entry to executePendingTransactions at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:461) at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141) at android.support.v4.view.ViewPager.populate(ViewPager.java:1012) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:523) at android.support.v4.view.ViewPager.setCurrentItemInternal(ViewPager.java:495) at android.support.v4.view.ViewPager.onRestoreInstanceState(ViewPager.java:1221) at android.view.View.dispatchRestoreInstanceState(View.java:11910) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2584) at android.view.ViewGroup.dispatchRestoreInstanceState(ViewGroup.java:2590) at android.view.View.restoreHierarchyState(View.java:11888) at android.support.v4.app.Fragment.restoreViewState(Fragment.java:417) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:933) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444) at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) […]

多个viewpage的滚动效果

我有一个观点的概念。 请指导我如何实现它。 请检查线框。 我已经看过FadingActionBar,但它似乎没有帮助。 问题是我在屏幕上有多个viewpage,并且在尝试获得所需结果时没有。 如果我能够实现很酷的过渡/视差效果,那将是非常棒的。 任何输入将非常感激。 编辑1: 选项卡放在PagerTabStrip上,并与其下方的Viewpager连接。 这里的尝试是滚动视图并将PagerTabStrip停靠到ActionBar,然后向下滚动将其调低以显示ImageViewPager。