Articles of android viewpager

如何在Android中禁用或启用viewpager滑动

我正在尝试做的:我试图启动/禁用页面程序在程序运行时以编程方式滑动 例如:如果在stream程中,如果我检查条件,如果它返回true启用滑动,并且如果条件返回false禁用滑动。 我正在使用的解决scheme是这一个 public class CustomViewPager extends ViewPager { private boolean enabled; public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); this.enabled = true; } @Override public boolean onTouchEvent(MotionEvent event) { if (this.enabled) { return super.onTouchEvent(event); } return false; } @Override public boolean onInterceptTouchEvent(MotionEvent event) { if (this.enabled) { return super.onInterceptTouchEvent(event); } return false; } public […]

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 = […]

加载第一个Fragment后,ViewPager调用setUserVisibleHint

在我的应用程序中,我有一个ViewPager,里面包含了许多带有碎片的可滑动Tab。 我使用setUserVisibleHint方法来检测Fragment何时进入屏幕。 当用户在选项卡之间滑动时这很好用,但在第一次加载时不起作用。 要运行方法中的代码,我必须向左滑动,然后回到第一个Fragment因为在onCreateView方法之前调用了setUserVisibleHint方法。 在第一个Fragment可见之后,你有什么想法可以运行这段代码吗? ViewPager还有其他的方法吗?

Android的CoordinatorLayout + AppbarLayout + Viewpager始终滚动

我有一个经典的布局,顶部有一个工具栏,下面有一个TabLayout,还有一个ViewPager切换TabLayout的选项卡。 当ViewPager中的内容是可滚动的时,工具栏应该不可见,并且当TabLayout到达顶端时应该跟随并粘住。 所有这些在我当前的代码中都是很好的,除了无论ViewPager内容的大小如何,ToolBar总是可以滚动的。 看到我的代码如下。 任何关于如何解决这个问题的精彩想法? <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.AppBarLayout android:id="@+id/app_bar_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/primary" android:orientation="vertical"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.ToolBar" app:layout_scrollFlags="scroll|enterAlways" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="?attr/colorPrimary" android:scrollbars="horizontal" app:tabIndicatorColor="@color/black_text" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/tabs_activity_view_pager" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 编辑: 我可以看到viewPager的高度与整个根视图的高度相同。 这可能是intentded,因为appbar_scrolling_view_behavior确实似乎添加了顶部和底部的偏移量。 它看起来很奇怪,因为它总是会滚动工具栏和tabbar。