Articles of android viewpager

什么时候getItemPosition应该考虑项目位置的变化?

Android的PagerAdapter类中getItemPosition方法的文档声明: 当主视图试图确定一个项目的位置是否改变时调用。 这个方法应该被调用来指示一个项目在那个适配器的项目组中的位置是否已经改变了。 但是,它从来没有说明什么时候压倒一切的方法应该考虑改变立场。 这是否意味着位置与上次调用getItemPosition项目时的位置不同? 这是否意味着该项目的位置是不同于上次notifyDataSetChanged被调用? 或者这意味着该项目的位置是不同的项目被添加到viewPager?

java.lang.IllegalArgumentException:观察者为空

我的一个应用程序的用户报告了这个错误。 我很困惑它是什么意思如何解决它。 经过一些Googlesearch…仍然没有运气。 任何人之前看过这个或知道如何解决它? java.lang.IllegalArgumentException: The observer is null. at android.database.Observable.unregisterObserver(Observable.java:59) at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42) at android.widget.HeaderViewListAdapter.unregisterDataSetObserver(HeaderViewListAdapter.java:256) at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:2309) at android.view.View.dispatchDetachedFromWindow(View.java:8197) at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1968) at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1966) at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3257) at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3237) at android.view.ViewGroup.removeView(ViewGroup.java:3185) at com.aheudev.a.slickdeals.adapters.DealPageAdapter.destroyItem(DealPageAdapter.java:174) at android.support.v4.view.ViewPager.populate(ViewPager.java:415) at android.support.v4.view.ViewPager.completeScroll(ViewPager.java:696) at android.support.v4.view.ViewPager.computeScroll(ViewPager.java:668) at android.view.ViewGroup.drawChild(ViewGroup.java:2434) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189) at android.view.View.draw(View.java:9282) at android.view.ViewGroup.drawChild(ViewGroup.java:2584) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189) at android.view.ViewGroup.drawChild(ViewGroup.java:2582) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189) at android.view.ViewGroup.drawChild(ViewGroup.java:2582) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189) […]

android中的ViewPager正在全屏?

在我的XML文件,我有一个线性布局,有一个ViewPager显示图像和另一个线性布局,其中包含select图像的上一个和下一个button。我的xml如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.v4.view.ViewPager android:id="@+id/pager" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:orientation="horizontal" > <Button android:id="@+id/goto_first" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="first" > </Button> <Button android:id="@+id/goto_last" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="last" > </Button> </LinearLayout> </LinearLayout> 我的问题是,ViewPager正在全屏幕和前面的下一个button的Linearlayout没有显示,因为没有剩下的空间来绘制这个LinearLayout。 我使用片段来填充ViewPager的视图。进入ViewPager的片段视图的XML文件是: <ImageView android:id="@+id/ItemImage" android:layout_width="320dp" android:layout_height="180dp" /> <TextView android:id="@+id/ItemText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left|bottom" android:layout_marginBottom="5dp" android:textColor="#ffffffff" android:textStyle="bold" /> </FrameLayout> 我得到的输出是这样的: 1.图像(覆盖45%屏幕高度) […]

如何dynamic更新视图分页器项目标题

我有一个简单的消息应用程序模块。 其中有两个可滑动的标签。 收到并发送。 让我们说我有20个消息,其中10个是未读的。 所以我正在做的是显示标签为收到 – (10)。 现在当我阅读邮件时,它将邮件标记为已读。 所以我想把标题从收到 – (10)改为收到 – (9)。 请让我知道我该怎么做? 这是我正在使用的代码。 @Override public int getCount() { return 2; } @Override public CharSequence getPageTitle(int position) { if (position == 0) { // if position is zero, set the title to RECEIVED. return "Received" + " (" + String.valueOf(intUnreadReceivedMessagesCount) + ")"; } else […]

如何知道ViewPager已经在android中滚动了一半的屏幕

我想知道ViewPager的View已经滚动了一半或者没有? 当我拖动它,如果它已经覆盖了一半的屏幕,我想改变页面。 例如,如果我testingMDPI,即屏幕宽度320px,如果我拖动我的页面的ViewPager 160px然后我想改变页面。 如何从ViewPager中获得这个半视距?

Android的ListView刷卡删除就像在Gmail应用程序

在项目上的刷卡效果删除时,像在Gmail应用程序中显示实现ListView? 我曾尝试使用ViewPager作为ListView元素,但这是行不通的。 谢谢

使用Android的SlidingPaneLayout和ViewPager

我正在尝试像ViewPager一样使用SlidingPaneLayout <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scientific_graph_slidingPaneLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <!– The first child view becomes the left pane. –> <ListView android:id="@+id/left_pane" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="left" /> <!– The second child becomes the right (content) pane. –> <android.support.v4.view.ViewPager android:id="@+id/scientific_graph_viewPager" android:layout_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </android.support.v4.widget.SlidingPaneLayout> 当我从左边拉动时,SlidingPaneLayout滑动; 然而,当我从右边拉时,我似乎无法让ViewPager滑动。 当我从右边缘拉,它滑动很less,然后反弹。 这样做甚至可能吗? 有一个更好的方法吗? 我发现通过将手指向上移动到左侧,我可以滑动视图寻呼机。

问题与FragmentPagerAdapter

我试图用viewpager和片段制作一个幻灯片,这样我就可以为每个片段加载不同的布局,并为每个页面提供不同的function。 我跟着一个教程来完成这个。 hover在public Fragment getItem(int arg0)时出现的错误:返回types与FragmentPagerAdapter.getItem(int)不兼容 和错误#2:构造函数FragmentPagerAdapter(FragmentManager)是未定义的 – >hoversuper(fm);时得到这一个super(fm); package com.example.spui; import android.os.Bundle; import android.app.Fragment; import android.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; public class MyFragmentPagerAdapter extends FragmentPagerAdapter{ final int PAGE_COUNT = 5; /** Constructor of the class */ public MyFragmentPagerAdapter(FragmentManager fm) { super(fm); } /** This method will be invoked when a page is requested to create */ […]

Android ViewPager使用不同的animation像放大,淡入淡出等

我创build了ViewPager,只有2个页面,当页面滚动页面到另一个页面时,我想把淡入,缩放,缩放,3d等animation,意味着第二个整个页面显示与特定的animation,我没有想法到如何做到这一点,请任何一个给我一个例子,当移动到另一个页面时,我们animation传呼机的animation。 主要我有三个类寻呼机:1)ViewPagerMainActivity:它在这里调用两个片段在这个主要样子如enter code here public class ViewPagerMainActivity extends FragmentActivity implements OnClickListener, OnPageChangeListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view_pager_main); <other code here> } private class MyPagerAdapter extends FragmentPagerAdapter { public MyPagerAdapter( android.support.v4.app.FragmentManager fragmentManager) { super(fragmentManager); } @Override public Fragment getItem(int pos) { switch (pos) { case 0: return FirstFragment.newInstance(""); case 1: return SecondFragment.newInstance(""); […]

Android ViewPager在使用后台时的性能问题

我有一个由XML制作的Activity ,我已经将它的背景设置为我的可绘制文件夹中的背景图片。 在同一个活动中,我创build了一个ViewPager来允许在视图之间来回切换。 ViewPager所有视图ViewPager包含一个图像。 每当我向左或向右滑动时,转换非常缓慢。 我试图通过设置为白色(#fff)去除背景图像,所有的滞后都消失了。 它工作完美! 问题是我确实需要应用程序的背景。 有没有什么办法来优化背景图片或什么东西,所以刷卡将再次顺利? 目前由于滞后而使用太令人沮丧。 我也尝试将图像裁剪成小尺寸,然后将其延伸到屏幕上,但是我没有注意到任何性能改进。 此外,它不是位于ViewPager的图像错误,当我用TextViewstesting它,而不是相同的滞后。