Articles of android viewpager

如何使用页面滑动视图创建Android选项卡式样式

我想要一个像这样的标签的例子 我搜索了但是得到了这个。 viewpageindicator 我无法使用此来源。 有人能告诉我另一个带滑动选项的标签示例。 我认为viewpageindicator与google play标签不同。 因为当我在谷歌播放页面滚动时,标签下面的行在滚动时移动,但在viewpageindicator中它不是。 谢谢

在FragmentTransaction.replace()后跟后退按钮后,不会重新创建ViewPager片段

我正在尝试实现保存和恢复状态,但是在使用PreferenceFragment替换主Fragment然后按下后退按钮时遇到问题。 我的主要Fragment包含一个带有FragmentPagerAdapter的ViewPager ,其中有3个Fragments可以ViewPager 。 在点击后退按钮后,没有调用我的3 Fragment的Fragment.onCreateView()回调。 我已经尝试了所有我在这里遇到的解决方案,但是我无法解决这个问题。 另一个可能需要注意的重要事项是,我的3个ViewPager Fragment的数据存储在单独的类中,这些类是实例化的,可通过Activity访问。 3 Fragment都包含RecyclerView用于列出大量数据。 这样做是为了清洁,但也是为了使这些数据在Activity持续存在。 这可能不是问题,因为它在启动应用程序时工作正常,但也因为主要问题是我的Fragments没有重新创建。 意外行为: 在应用程序创建时,一切正常,但是当我用另一个替换我的主Fragment (包含带有FragmentPagerAdapter的ViewPager )然后按下后退按钮时,不会重新创建ViewPager中的Fragment 。 我的主要Fragment的onCreateView() 被调用。 问题: 我错过了什么? 是否还应该创建一些其他回调? 我应该在哪里以及如何重新创建Fragments ? 我试过了什么: 更改了正在使用的FragmentAdapter ,但我应该使用getSupportFragmentManager()就像这里的解决方案一样。 编辑:使用错误的FragmentManager实际上是我的麻烦的来源。 请参阅下面的答案。 将@Override public int getItemPosition(Object object) {return POSITION_NONE;}到FragmentPagerAdapter ,如此处所示 。 根据我的理解,从FragmentPagerAdapter更改为FragmentPagerAdapter ,这在这里无关紧要。 FragmentStatePagerAdapter的内部实际上保留了Fragments ,但它们不会重新渲染。 在调用onCreateView()时,使用FragmentTransaction添加主Fragment并在该Fragment的其他几个回调中,请参阅下面的MMMainFragment 。 各种其他的东西。 我的MainFragment类具有相应的XML布局 public class MMMainFragment extends Fragment { private MMViewPager […]

在ViewPager中水平滚动webview

我把一个WebView加载到ViewPager中的图像。 当我尝试水平滚动图像时,我移动到下一个视图而不是滚动图像。 是否可以在移动到下一个视图之前滚动到图像的末尾? @Override public Object instantiateItem(View view, int i) { WebView webview = new WebView(view.getContext()); webview.setHorizontalScrollBarEnabled(true); webview.loadUrl(“http://img.androidcookie.com/android/image.gif”); ((ViewPager) view).addView(webview, 0); return webview; }

使用Espresso测试ViewPager。 如何对项目的按钮执行操作?

我有一个ViewPager项目只包含一张图片和一个按钮。 我无法与项目(页面)的UI成功交互,因为除了显示的图片之外,没有什么可以区分(从UI的角度来看) ViewPager所有项目。 我试图只选择一个有位置的项目: onData(is(instanceOf(ItemClass.class))) .atPosition(0) .onChildView(withId(R.id.button)) .perform(click()); 造成: NoMatchingViewException:层次结构中找不到匹配的视图:可从类中分配:class android.widget.AdapterView 如何使用Espresso访问和测试ViewPager项目?

DialogFragment中的ViewPager – IllegalStateException:Fragment没有视图

我想要实现的目标 从FragmentActivity单击操作栏中的操作按钮时会显示一个对话框 DialogFragment – 没有标题的对话框 TabHost – 对话框顶部的选项卡 ViewPager with FragmentPagerAdapter – Swipable,其内容连接到Tabs 2-3对话框按钮(对话框的不同子类,不同的按钮) – 不应该在ViewPager的一个Fragment ,这意味着无论ViewPager显示什么Fragment ,相同的按钮都应保留在对话框的底部。 问题 IllegalStateException: Fragment does not have a view 到目前为止我尝试/做过的事情 使用android.support.v4包进行必要的类 调用getChildFragmentManager()而不是getSupportedFragmentManager() 通过此链接实施了#10建议的posthttps://code.google.com/p/android/issues/detail?id=42601 。 我将代码直接复制/粘贴到我想要显示的两个Fragment类中,以及DialogFragment类。 在我的自定义DialogFragment我首先尝试覆盖onCreateView ,然后是onCreateDialog ,然后同时覆盖两者。 所有这些我都要跑,但意外的结果。 只有onCreateView :无法访问AlertDialog.Builder来创建所需的按钮,除了Dialog的结果很棒。 仅onCreateDialog :上面显示的错误消息。 我仍然认为这种方法与我想要达到的目标一样接近。 onCreateView和onCreateDialog :在onCreateView膨胀对话框布局,并将对话框按钮添加到onCreateDialog的AlertDialog.Builder 。 这显示了对话框,但AlertDialog.Builder中添加的按钮不可见。 此外,单击EditText字段时键盘未显示。 源代码 大多数来自Tutorial在Android 2.2 + ViewPager和Fragments中实现TabHost的使用 。 ActivityFragment的代码改为DialogFragment 。 但是我从这个答案https://stackoverflow.com/a/18167273/2375978的源代码中用一个修改过的ViewPager替换了它的ViewPager。 […]

我们如何解决PagerTitleStrip和PagerTabStrip中的空白标题?

PagerTitleStrip和PagerTabStrip与support-v4(版本23.0.0)存在问题。 使用PagerTitleStrip或ViewPager时PagerTitleStrip的标题视图和support-v4库的版本23.0.0(用于Marshmallow / Android 6.0支持)无法正确呈现。 跟踪问题并安排在Future Release上: https : //code.google.com/p/android/issues/detail ? id = 183127 https://code.google.com/p/android/issues/detail?id = 184715 更新:现在已经在23.1.0中解决了。

Android CoordinatorLayout + AppbarLayout + Viewpager总是滚动

我有一个经典的布局,顶部有一个ToolBar,下面有一个TabLayout,还有一个来自TabLayout的ViewPager切换标签。 当ViewPager中的内容可滚动时,工具栏应该滚动到视线之外,TabLayout应该跟随并在它到达顶部时粘住。 所有这些在我当前的代码中都很好,除了ToolBar总是可滚动的,无论ViewPager的内容大小如何。 请参阅下面的代码。 关于如何解决这个问题的任何好主意? 编辑: 我可以看到viewPager的高度与整个根视图的高度相同。 这可能是有意的,因为appbar_scrolling_view_behavior似乎确实添加了顶部和底部偏移。 但它看起来很奇怪,因为它会导致始终滚动工具栏和标签栏。

onPageScrolled()没有被调用

我正在努力熟悉ViewPager。 我的代码如下。 问题是没有调用onPageChangeListener方法。 可能是什么问题? public class TabsViewPagerFragmentActivity extends SherlockFragmentActivity implements ViewPager.OnPageChangeListener { private ViewPager mViewPager; private PagerAdapter mPagerAdapter; private PageIndicator mIndicator; private static final String[] CONTENT = new String[] { “Home”, “Popular”, “Chat”, “Profile”}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar bar = getSupportActionBar(); View customview = LayoutInflater.from(this).inflate(R.layout.actionbar_custom_layout, null); ImageView im = (ImageView)customview.findViewById(R.id.add); /*im.getLayoutParams().height = […]

如何解决viewpager:指定的子节点已经有父节点。 您必须首先在孩子的父母上调用removeView()

在我的项目中,我使用的是viewpager,其中包含三个名为History , Main , Map选项卡。 主要活动包括计时器,秒表等。 地图显示谷歌地图。 现在进入历史我只使用简单的Textview。 Viewpager流向: 历史 – 主要 – 地图 我将Main设置为当前项目(Bydefault Main tag display)。现在我从Main > Map and Map > Main滑动它的工作完美。 但是当从Main > History中滑动时没有错误但是从History返回Main ( History > Main )eclipse给出了如下错误: E/AndroidRuntime( 533): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child’s parent first. 我正在使用intent into Map Activity […]

如何改变SlidingTabLayout的文字颜色?

我创建了一个使用ActionBarCompat的应用程序 我使用SlidingTabLayout类创建了选项卡。 这个class是这样的: SlidingTabLayout.java 但我不能改变标签的颜色…… 我的viewpager片段是这样的: 应用程序工作得很好,但我无法更改选项卡的颜色文本 … 我看了下面的例子后做了一个应用程序: rudsonlive /导航抽屉ViewPager-ActionBarCompat 如何更改选项卡文本的文本颜色? 谢谢 !!!