Questions tagged «android-viewpager»

一个ViewGroup,用于管理用户可以在其间滑动的子视图的布局。

9
Android ViewPager-在左右显示页面预览
我正在使用Android的ViewPager。我要做的是在左右两边都显示页面的预览。我已经看到可以在底片pageMargin上显示右侧预览的地方。 setPageMargin(-100); 无论如何,我还能显示左侧的预览吗?它基本上类似于我正在寻找的Gallery小部件。

8
如何为Android应用程序创建透明的演示屏幕?
我正在尝试创建一个半透明的演示屏幕,该屏幕仅在用户首次安装我的应用程序时启动。这是Pulse News应用的示例: Galaxy Nexus Nexus One 我希望用户能够浏览几个这样的透明演示页面,而不是“轻按一下”功能。 第一次尝试时,我修改了ViewPagerIndicator库中的示例。我在每个视图分页器片段的ImageViews中使用了半透明的PNG。然后,在“主活动”的onCreate方法中将其作为“演示活动”启动。 问题:在后台看不到“主要活动”-而是黑色。我在这里尝试了解决方案,但是并没有解决问题。 有没有更好的方法来创建这样的东西,还是我走在正确的轨道上? 我还有另一个相关的问题,这取决于如何实现。我正在尝试覆盖文本和箭头,以便它们指向背景中的特定UI组件。通过使用带有文本和箭头的PNG,很可能在不同设备上无法正确缩放。即,箭头可能不一定指向背景中的正确UI组件。有没有办法解决这个问题呢? 谢谢! 这是我第一次尝试的代码: DemoActivity.java public class DemoActivity extends FragmentActivity { DemoFragmentAdapter mAdapter; ViewPager mPager; PageIndicator mIndicator; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.demo_activity); mAdapter = new DemoFragmentAdapter(getSupportFragmentManager()); mPager = (ViewPager)findViewById(R.id.pager); mPager.setAdapter(mAdapter); //mPager.setAlpha(0); UnderlinePageIndicator indicator = (UnderlinePageIndicator)findViewById(R.id.indicator); indicator.setViewPager(mPager); indicator.setFades(false); mIndicator …

11
ViewPager.setOffscreenPageLimit(0)不能按预期工作
我在ViewPager实例中使用的片段占用大量资源,因此我只想一次加载一个。当我尝试以下操作时: mViewPager.setOffscreenPageLimit(0); mViewPager.setAdapter(mPagerAdapter); 我的FragmentStatePagerAdapter.getItem(int position)覆盖函数被调用了3次,这是我调用时发生的情况mViewPager.setOffscreenPageLimit(1)。我希望它只被调用一次,因为我指定了0个屏幕外页面。 我相信我会正确地调用所有内容,因为如果调用mViewPager.setOffscreenPageLimit(2),它会FragmentStatePagerAdapter.getItem(int position)被调用5次,正如我期望的那样。 ViewPager是否至少需要1个离屏页面,或者我在这里做错了什么?

13
使用FragmentPagerAdapter的ViewPager中的片段在第二次查看时为空白
我有一个片段界面,其底部带有选项卡,可在主视图中打开不同的片段。 我有一个特定的片段,它是项目列表。如果用户选择此列表中的一个项目,则会打开另一个片段,其中包含一个viewpager,该viewpager会在上一个片段的列表中的所有项目之间水平滚动。这很好。 viewpager使用FragmentPagerAdapter来显示项目。 当用户在列表中选择一个项目,查看它,然后单击选项卡栏上的按钮以返回到列表,然后选择另一个项目时,就会出现问题。第二次选择项目时,出现空白屏幕,而不是viewpager。发生这种情况时,我在LogCat中没有收到任何错误。 为什么viewpager只第一次出现? FragmentPagerAdapter: public class ViewPagerAdapter extends FragmentPagerAdapter { Cursor mCursor; public ViewPagerAdapter(FragmentManager fm, Cursor c) { super(fm); mCursor = c; } public void changeCursor(Cursor c) { mCursor = c; this.notifyDataSetChanged(); } @Override public int getCount() { if (mCursor == null) return 0; else return mCursor.getCount(); } …

9
带有Google Maps API v2的ViewPager:神秘的黑色视图
我已经将新的Google Maps api v2片段集成到了视图传呼器中。从地图片段滚动时,黑色视图会与相邻片段重叠。有人解决了吗? 编辑:屏幕截图 public static class PagerAdapter extends FragmentPagerAdapter{ public PagerAdapter(FragmentManager fm) { super(fm); } @Override public int getCount() { return NUM_ITEMS; } @Override public Fragment getItem(int position) { Fragment pageFragment; switch (position) { case 0: pageFragment = new TabAFragment(); break; case 1: pageFragment = new TabBFragment(); break; …

8
SwipeRefreshLayout + ViewPager,仅限制水平滚动吗?
我已经实现了,SwipeRefreshLayout并且ViewPager在我的应用程序中,但是有一个大麻烦:每当我要左右滑动以在页面之间切换时,滚动就太敏感了。稍微向下滑动也会触发SwipeRefreshLayout刷新。 我想为开始水平滑动设置一个限制,然后仅在滑动结束之前强制水平滑动。换句话说,当手指水平移动时,我想取消垂直滑动。 仅当发生以下问题时ViewPager,如果我向下滑动并SwipeRefreshLayout触发刷新功能(显示条),然后水平移动手指,则仍然只能垂直滑动。 我试图扩展ViewPager该类,但它根本不起作用: public class CustomViewPager extends ViewPager { public CustomViewPager(Context ctx, AttributeSet attrs) { super(ctx, attrs); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { boolean in = super.onInterceptTouchEvent(ev); if (in) { getParent().requestDisallowInterceptTouchEvent(true); this.requestDisallowInterceptTouchEvent(true); } return false; } } 布局xml: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/viewTopic" android:layout_width="match_parent" android:layout_height="match_parent"> <com.myapp.listloader.foundation.CustomViewPager android:id="@+id/topicViewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.SwipeRefreshLayout> 任何帮助,将不胜感激,谢谢

9
ScrollView中的ViewPager无法滚动正确
我有一个“页面”,上面有许多组件,谁的内容长于设备的高度。很好,只需将所有布局(整个页面)放在内ScrollView,没问题。 组件之一是ViewPager。这可以正确渲染,但是对滑动/滑动的响应未正确执行,抖动,并且无法始终正常工作。它似乎与变得“混淆” ScrollView,因此仅当您沿精确的水平线猛扑时才可以100%使用。 如果删除ScrollView,则ViewPager响应完美。 我进行了搜索,没有发现这是已知的缺陷。其他人有没有经历过? 平台版本:1.6 兼容性库v4。 设备:HTC Incredible S 下面是一些示例代码供您测试,注释掉ScrollView以使其正常工作。 活动: package com.ss.activities; import com.ss.R; import android.app.Activity; import android.content.Context; import android.graphics.Color; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.widget.TextView; public class PagerInsideScollViewActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ViewPager vp …

12
ViewPager不会重新绘制内容,而是保持空白
我们在这里遇到了ViewPager的一个非常奇怪的问题。我们在每个ViewPager页面上嵌入列表,并在更新列表数据时在列表适配器和视图分页器适配器上触发notifyDataSetChanged。 我们观察到的是,有时页面不会更新其视图树,即保持空白,有时甚至在分页时消失。当来回翻动几次时,内容将突然重新出现。似乎Android在这里缺少视图更新。我还注意到,在使用层次结构查看器进行调试时,选择视图将始终使其重新出现,这显然是因为层次结构查看器会强制所选视图重新绘制自身。 但是我无法以编程方式进行这项工作;使列表视图无效,甚至使整个视图分页器无效,都无效。 这是与compatible-v4_r7库一起使用的。我还尝试使用最新的修订版,因为它声称可以解决与视图分页器有关的许多问题,但是却使事情变得更糟(例如,手势被打断了,以至于有时它不再让我翻阅所有页面。) 是否还有其他人也遇到了这些问题,或者您是否知道可能是什么原因造成的?


4
获取ViewPager的当前位置
我知道使用Gallery小部件可以使用getSelectedItemPosition();。检索当前位置,但是ViewPager似乎没有。 我知道我可以设置一个侦听器并在切换页面时检索位置。但是我想要当前的视图位置。

8
如何获取Android版ViewPager的当前页码?
我想知道的当前页面位置ViewPager。我创建一个适配器并将该适配器设置为ViewPager。现在,我想知道当前页码或当前视图的位置,因为我想在该特定页面上启动一些其他事件。 我用来viewPager.setCurrentItem(1);设置第一项。 是否有类似的方法来获取当前页面?

8
如何在Android中禁用或启用ViewPager刷卡
我要执行的操作:我正在尝试在程序运行时以编程方式启用/禁用在寻呼机中滑动 例如:在流程中,如果我检查条件并返回,则true启用刷卡,如果条件返回,则false禁用刷卡。 我正在使用的解决方案是这个 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); …

9
如何禁用视图后单击事件Framelayout
在这里,我有一个视图寻呼机活动,其中有一个imageview和2个叠加条。那里我使用android xml文件布局本身制作的覆盖栏。 这是我的要求 1)第一次单击查看传呼器的imageview =显示顶部和底部矩形叠加条。2)第二次点击查看寻呼机的imageview =隐藏这些覆盖。 这些都是像android gallary view type这样的函数。 但是在这里,当这些顶部和底部布局栏当时显示时,我只想使用按钮,请单击仅在此布局中声明了哪些按钮。 但是我没有成功实现这一目标。 问题 1)什么时候top or bottom bar我可以点击next or previous按钮,而不是它的takes事件背后的imageview单点触摸事件,而我的栏变得不可见了。2)仅希望声明按钮事件3)避免在我触摸覆盖栏时单击imageview。 简而言之,当那时我的顶部和底部图像栏出现时,不会从顶部和底部图像栏发生touh事件。当我单击下一个或上一个或共享按钮时,我可以单击imageview但不能单击。 这些就是我面临的问题,请帮助我。 源代码 : activity_pager_image.xml <?xml version="1.0" encoding="utf-8"?> <FrameLayout 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="fill_parent" /> <RelativeLayout android:id="@+id/rl_top_overlay" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/slideshow_bar" android:visibility="gone" > <TextView android:id="@+id/tv_top_overlay" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" …

9
PagerAdapter的起始位置
我正在使用以下示例隐含我的viewPager:http : //code.google.com/p/viewpagerexample/issues/list 此示例的问题是我无法弄清楚如何设置起始位置,默认起始位置为0。基本上,我将无法控制左侧或右侧是否有可用视图。 有什么方法可以控制中心的“查看当前位置”?有更好的方法吗?有可能使其成为圆形吗?

15
Android ViewPager获取当前视图
我有一个ViewPager,我想获取当前选定的可见视图,而不是位置。 getChildAt(getCurrentItem) 返回错误 View 这并非始终有效。有时返回null,有时仅返回错误的View。 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser == true) { mFocusedListView = ListView; } } PageListener上ViewPager用getChildAt()也没有工作,每次都没有给我正确的观点。 如何获得当前的可见视图? View view = MyActivity.mViewPager.getChildAt(MyActivity.mViewPager.getCurrentItem()).getRootView(); ListView listview = (ListView) view.findViewById(R.id.ListViewItems);

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.