Articles of android viewpager

Android使用不带标签的ViewPager轻扫

我试图制作一个具有滑动导航types的应用程序。 这是我走了多远: 片段活动: package com.app.BoomBase; import android.os.Bundle; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class Fragment_control extends Fragment { String tag = this.getClass().getSimpleName(); @Override public void onCreate(Bundle savedInstanceState) { Log.i(tag, “onCreate”); super.onCreate(savedInstanceState); /** Getting the arguments to the Bundle object */ Bundle data = getArguments(); } @Override public View onCreateView(LayoutInflater inflater, […]

将子视图对齐ViewPager android的中心

我需要将子视图设置为ViewPager的中心,并且我还要向当前视图侧显示下一个和上一个视图的某些部分(如1下的当前屏幕)。 但目前当前视图从ViewPager的左侧开始(如预期的屏幕低于2)。 我怎样才能做到这一点? 这是我的代码.. MyViewPagerAdapter public class MyViewPagerAdapter extends PagerAdapter { private Activity mActivity; private int mPageCount; public MyViewPagerAdapter(Activity activity,int pageCount) { mActivity = activity; mPageCount = pageCount; } @Override public int getCount() { return mPageCount; } @Override public boolean isViewFromObject(View view, Object obj) { return (view ==(View)obj); } @Override public Object instantiateItem(ViewGroup container,final int […]

无法强制转换为自定义ViewPager类

我正在使用来自Chrisbanes Github的这个来源: https : //github.com/chrisbanes/PhotoView并尝试使用LinearLayout创建ViewPager但是在将ViewPager转换为HackyViewPager时出现错误这是我的xml(bacaan.xml): … 在ViewPagerActivity.java上,我改变了这个: mViewPager = new HackyViewPager(this); setContentView(mViewPager); mViewPager.setAdapter(new SamplePagerAdapter()); 对此: setContentView(R.layout.bacaan); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); ViewPager mViewPager = (HackyViewPager) findViewById(R.id.pager); mViewPager.setAdapter(new AdapterGambarPager()); 我确实发现必须使用包名称声明自定义View,就像我发现的这个问题: 在Android中创建自定义按钮类 所以我将xml ViewPager更改为我的包名,但仍然无效。 任何线索? 编辑:这是日志 06-14 21:01:05.901: E/AndroidRuntime(28345): FATAL EXCEPTION: main 06-14 21:01:05.901: E/AndroidRuntime(28345): java.lang.RuntimeException: Unable to start activity ComponentInfo{uk.co.senab.photoview.sample/uk.co.senab.photoview.sample.ViewPagerActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class uk.co.senab.photoview.sample.HackyViewPager […]

更改ViewPager和setCurrentItem的转换速度

我有一个ViewPager,我想每5秒自动旋转一次,同时也允许用户滑动。 但是,当我设置自动更改时,页面之间的过渡动​​画发生得非常快,我希望它更慢。 我在这里看到了这个问题的答案 在Android中Viewpager控制器的速度减慢 但他们都使用reflection。 有没有人知道如何在不使用reflection的情况下减慢ViewPager的自动速度? 我想过使用PageTransformer,但不确定它是否会起作用,如果用户滑动和自动滑动,它可能会影响速度? 除非我能以某种方式检测到差异,然后做一个或另一个PageTransformation?

如何在ViewPager中重新创建所有片段:

我有这个问题,我有一个带有ViewPager和ViewPagerAdapter 。 在这个ViewPager中,我有3个Fragments ,每个Fragments都包含一个TableLayout ,它使用2dArrayList编程方式填充。 在FragmentActivity布局中单击按钮时,我会过滤2dArrayList的数据,并且基本上需要使用新数据集重新创建所有3个Fragments (在所有这些中运行onCreateView方法)。 所以我为这个按钮创建了一个onClickListener : private class SlicerSelectedOnClickListener implements OnClickListener { private ODSharedSlicer slicer; public SlicerSelectedOnClickListener(ODSharedSlicer slicer) { super(); this.slicer = slicer; } public void onClick(View v) { String slicerValue = ((Button) v).getText().toString(); Log.d(TAG,”Slicer value: “+ slicerValue +” chosen”); application.currentReport.getODSharedSlicers().get(0).getSharedSlicerSelectedMemebers().add(slicerValue); ViewGroup parent = (ViewGroup) ((Button) v).getParent(); for (int i = 0; […]

如何自定义CirclePageIndicator?

我正在使用ViewPager和PagerAdapter在Android应用程序中获取XML的幻灯片。 我正在使用CirclePageIndicator为页面编号。 如何自定义当前页面对应的圆圈颜色?

PagerTabStrip中的文本未在第一个视图中显示

我有以下简单的设置: swipeable.xml 活动: public class InfoActivity extends ActionBarActivity { private static final int[][] KEYS = { { R.string.usage, R.string.usage_text }, { R.string.data_protection, R.string.data_protection_text }, { R.string.impressum, R.string.impressum_text } }; @Override protected void onCreate( Bundle savedInstanceState ) { setContentView( R.layout.swipeable ); super.onCreate( savedInstanceState ); ViewPager viewPager = (ViewPager)findViewById( R.id.pager ); viewPager.setAdapter( new SwipeAdapter( getSupportFragmentManager() ) ); […]

突出显示或下划线选定的TabPageIndicator

我在平板电脑大小的横向布局上有双窗格,我正在使用片段。 在左边我有一个带有listview的片段。 当其中一个项目列表发生单击时,右侧片段将加载详细信息。 在右(细节)片段的布局中,有一个com.viewpagerindicator.TabPageIndicator和一个android.support.v4.view.ViewPager. ViewPager将加载2个元素,每个元素都有com.viewpagerindicator.TabPageIndicator 。 我正在尝试突出显示或强调所选标签,但我没有这样做。 我希望你有一些建议:)

不要剪辑ViewPager页面

我不能让我的ViewPager不剪切其页面内容。 我目前正在我的应用程序中使用带有FragmentStatePagerAdapter ViewPager 。 我有3页,每页都显示不同的片段。 一切正常,但现在我希望能够在我的页面边界之外绘制,如下图所示: 我在我的所有视图中将clipChildren和clipToPadding设置为false ,以及需要在其边界之外绘制的视图,但这是我得到的:我的视图根据页面边界被剪切。 一些额外的信息:为了解决这个问题,我使用了hierarchyviewer来检查我的视图层次结构,看看是否有一些“幕后”视图可能有剪切行为。 和bingo:我的每个片段的根视图都添加在NoSaveStateFrameLayout 。 我怀疑这个家伙要夹住孩子…… 你认为我的最后一个假设是否正确? 如何获取未剪辑的页面?

在Viewpager中映射v2 SupportMapFragment

背景 我成功地将新地图api v2.0添加到ViewPager并且地图加载正常。 我正在使用FragmentViewPager。 我遇到了麻烦,但是当我尝试添加标记时因为我无法获取Fragment by标签,因为我使用的ViewPager来自兼容性库并在XML中定义,这会“隐藏”我的标签。 问题 如何将带有标记SupportMapFragment的新Map v2加载到使用FragmentPagerAdapter的ViewPager中。 我的尝试 因此,我认为可以通过将SupportMapFragment扩展为执行以下操作的新类来创建一个优雅的解决方案: 添加一个采用GoogleMapOptions和List的新构造函数。 这有效地调用了只接受GoogleMapsOptions的现有构造函数,然后将我的标记列表存储在新类的私有属性中。 覆盖GetMap() – 检查它是否为null,如果它没有将标记添加到我们之前加载到地图上的地图,最后返回它。 我的想法是,我的扩展可以高度重用,并抽象任何与一个地方相关的地图,并允许我的活动通过newInstance(myGoogleMapOptions, myMarkers)创建新的MapFragment。 好的问题。 第1部分似乎工作正常,但在调试过程中,我无法调用重写的GetMap()方法。 事实上,我已经尝试重写碎片所具有的大多数常用方法,并且没有一个被调用。 是否有一些奇怪的事情发生在SupportMapFragmemt上,我试图find它的来源无济于事地检查自己。 更新 我意识到为什么我没有得到被覆盖的方法。 这是因为我返回的是标准的SupportMapFragment而不是MyMapFragment 。 也就是说我不能从静态方法调用super,并且我不能毫无例外地从基类转换为派生类。 编辑这是课程 public class MyMapFragment extends SupportMapFragment { private static List mMarkers; public static SupportMapFragment newInstance(GoogleMapOptions options, List markers) { SupportMapFragment fragment = newInstance(options); mMarkers = markers; return fragment; […]