Articles of android viewpager

如何从代码中设置PagerTitleStrip的TextColor,TextSize?

我试图从pagertitlestrip设置textsize和textcolor,但无法find方法。 编辑 main.xml中 style.xml @style/PagerTitleStripTextAppearance #FFFFFFFF 14sp 可惜我没有find从AttributeSet中获取它的方法,获得Resource NotFound或InvalidResource Exception。

以前的片段在新片段下可见

我有一个tab + ViewPager布局,在其中一个选项卡中我有一个列表视图。 当我在onclick上替换该列表片段时,我仍然可以看到新片段下的旧片段。 看到: 码: FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction transaction = fragmentManager.beginTransaction(); HallsInStateFragment hallsForState = new HallsInStateFragment(); transaction.replace(R.id.container, hallsForState); transaction.addToBackStack(null); transaction.commit(); R.id.container是视图中的FrameLayout。

如何检测onTouch侦听器中的单击?

我在ScrollView有一个ViewPager 。 我需要能够水平滚动以及垂直滚动。 为了实现这一点,每当触摸我的ViewPager时,必须禁用垂直滚动( v.getParent().requestDisallowInterceptTouchEvent(true); ),以便它可以水平滚动。 但与此同时,我需要能够单击viewPager以全屏模式打开它。 问题是在onClick之前调用onTouch并且从不调用我的OnClick。 如何实现触摸onClick? viewPager.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { System.out.println(“TOUCHED “); if(event.getAction() == MotionEvent.???){ //open fullscreen activity } v.getParent().requestDisallowInterceptTouchEvent(true); //This cannot be removed return false; } }); viewPager.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.out.println(“CLICKED “); Intent fullPhotoIntent = new Intent(context, FullPhotoActivity.class); […]

无限的ViewPager

这似乎是可能的,但我在确定如何实现可以无限期ViewPager遇到了一些麻烦。 我的用例是一个日历,一次显示一个月,但可以通过分页足够的时间切换到任何月份。 目前我只是extending PagerAdapter ,并添加了3个自定义MonthViews : @Override public Object instantiateItem(View collection, int position) { final MonthView mv = new MonthView(HistoryMonthActivity.this); mv.setLayoutParams(new ViewSwitcher.LayoutParams( android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.MATCH_PARENT)); mv.setSelectedTime(mTime); ((DirectionalViewPager) collection).addView(mv, 0); return mv; } 我想一次只在内存中保留3个MonthView ,这样当用户使用Tab键时,在每个MonthView上显示来自我的数据库的数据没有太大的延迟。 因此,每次显示新页面时,我都需要删除一个MonthView并添加一个MonthView 。 如果有人对同样的function有更好的想法,我很乐意听到它! 我正在考虑尝试使用FragmentStatePagerAdapter 。

FragmentManager IllegalStateException:没有主机

更新 :当我放入nullcheks(片段!= null,getActivity()!= null)时,崩溃消失了。 我的应用程序使用ViewPager (屏幕外限制5),并使用getSupportFragmentManager()初始化FragmentStatePagerAdapter 。 每个页面都有自己的片段和后台堆栈。 应用程序在启动时崩溃。 问题仅出现在preLollipop设备和仿真器上。 使用最新支持lbrary(尝试24.0.0也 – 相同结果)Stacktrace: java.lang.IllegalStateException:在android.support的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1267)的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1267)没有主机.v4.app.FragmentManagerImpl.dispatchCreate(FragmentManager.java:2138)位于android.support.v4.app.Fragment.onCreate(Fragment.java:1254)的android.support.v4.app.Fragment.performCreate(Fragment.java) :2062)在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1051)的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1286)android.support.v4.app上的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1051)。在Android.support.v4.app.BackStackRecord.commitNowAllowingStateLoss(BackStackRecord.java:637)的android.support.v4.app.FragmentManagerImpl.execSingleAction(FragmentManager.java:1632)上的BackStackRecord.run(BackStackRecord.java:758) android.support.v4.view.ViewPager.pop上的.support.v4.app.FragmentStatePagerAdapter.finishUpdate(FragmentStatePagerAdapter.java:166) ulate(ViewPager.java:1237)位于android.sview的android.support.v4.view.ViewPager.populate(ViewPager.java:1085)android.sview.v4上的android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1611) .View.measure(View.java:16497)位于android.widget.Linout.measureVertical的android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)上的android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) LinearLayout.java:695)在android.view.measure.View.measure(View.java:16497)的android.widget.Linear.onMeasure(LinearLayout.java:588)android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) )在android.widget.FreeLayout.onMeasure(FrameLayout.java:310)的android.view.measure.View.measure(View.java:16497)android.widget.RelativeLayout.measureChildHorizo​​ntal(RelativeLayout.java:719)android.widget .AlativeLayout.onMeasure(RelativeLayout.java:455)在Android.widge上的android.view.vision.measure(View.java:16497)android.view.measureGroup.measureChildMargins(ViewGroup.java:5125) t.FrameLayout.onMeasure(FrameLayout.java:310)位于android.view.view.measure(View.java:16497)android.view的android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) .ViewGroup.measureChildWithMargins(ViewGroup.java:5125)位于android.view.measure.View.measure(View.java:16497)的android.view.FreeLayout.onMeasure(FrameLayout.java:310),位于android.view.ViewGroup.measureChildWithMargins( ViewGroup.java:5125)在android.view.measure.View.measure(View.java:16497)的android.widget.FrameLayout.onMeasure(FrameLayout.java:310)android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)在android.widget.LinearLayout.measureChildBayforeLayout(LinearLayout.java:1404)android.widget.Linear.measureVertical(LinearLayout.java:695)android.widget.Linear.onMeasure(LinearLayout.java:588)android.view .View.measure(View.java:16497)位于android.widget.FrameLayout.onMeasure(FrameLayout.java:310)的android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125) 在com.android.internal.policy.impl.PhoneWindow $ DecorView.onMeasure(PhoneWindow.java:2291)的android.view.View.measure(View.java:16497)android.view.ViewRootImpl.performMeasure(ViewRootImpl.java) :1912)在android.view.ViewRootImpl.measureHversy中的android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1109),在android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:996)的android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1291) .view.ViewRootImpl $ TraversalRunnable.run(ViewRootImpl.java:5600)在android.view.Choreographer $ CallbackRecord.run(Choreographer.java:761)的android.view.Choreographer.doCallbacks(Choreographer.java:574)。在android.view.Handler的android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:747)的android.O. .dispatchMessage(Handler.java:95)在android.os.Looper.loop(Looper.java:136)

如何在ViewPager中启用CardView

我尝试在ViewPager中使用CardView,每次我在CardView上向左/向右滑动它都会进入下一个屏幕。 我希望卡片自己删除。 目前作为一个独立的都工作正常,但当我结合时,只有viewpager工作,而不是cardwipe解雇。 我尝试使用下面的代码禁用ViewPager,但此代码也禁用了CardView滑动手势。 我怎样才能使CardView只有手势,当你在两张卡之间滑动时,它应该有ViewPager,因为它没有连接到卡元素。 或者完全禁用ViewPager并将其用作按钮并在CardView上启用滑动。 我非常感谢任何帮助。 提前致谢。 仅供参考:我在ViewPager中尝试过android_horizo​​ntal_listview,它运行正常,就像这样。 对于ViewPager: mPager.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true; } }); 对于CardView: SwipeableRecyclerViewTouchListener swipeTouchListener = new SwipeableRecyclerViewTouchListener(mRecyclerView, new SwipeableRecyclerViewTouchListener.SwipeListener() { @Override public boolean canSwipe(int position) { return true; } @Override public void onDismissedBySwipeLeft(RecyclerView recyclerView, int[] reverseSortedPositions) { for (int position : […]

Android setBackgroundResource导致内存不足

我正在开发一个在ViewPager中显示12个视图的游戏手册应用程序。 这是我的自定义PagerAdapter: private class ImagePagerAdapter extends PagerAdapter { private int[] mImages = new int[] { R.drawable.copertinai, R.drawable.blui, R.drawable.azzurroi, R.drawable.rossoi, R.drawable.gialloi, R.drawable.verdei, R.drawable.rosai, R.drawable.grigioi, R.drawable.neroi, R.drawable.arancionei, R.drawable.marronei, R.drawable.violai, R.drawable.ulm }; @Override public int getCount() { return mImages.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == ((RelativeLayout) object); } @Override public Object instantiateItem(ViewGroup […]

如何在EditText和Soft Keyboard之间添加边距?

我想在EditText和Soft Keyboard之间添加10dp的边距。 这是我的XML: 这是我的onCreate() : getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); messageText.setOnTouchListener(new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { ((Swipe)getActivity()).getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_UNSPECIFIED); return false; }}); 我正在使用viewpager和全屏主题。 以下EditText位于我的第3个片段中。 我用过android:windowSoftInputMode=”adjustResize|adjustPan”和android:windowSoftInputMode=”adjustResize” ,但什么都没发生。

CoordinatorLayout在另一个CoordinatorLayout里面

另一个CoordinatorLayout内的CorodinatorLayout ,滚动子视图也应该滚动Parent CoordinatorLayout 。 我有一个带有ViewPager的coordinatorLayout ,它包含不同的Fragment ,以便在Scroll隐藏tabLayout 我有另一个具有viewPager 。 此fragment在父片段(父Coordinator layout )的ViewPager中膨胀。 问题是在childViewpager中childViewpager子片段只反映在子fragment coordinator layout ,而不是在我需要做的隐藏tablayout的父coordinator layout中。 结构是: CoordinatorLayout(p) ->(tablayout(p) & ViewPager(p) -> CoordinatorLayout(c) ->(tablayout(c) & ViewPAger(c) ->recyclerView(cc))) p -> parent; c -> child; cc -> child to child 如何在滚动回收器视图上进行操作将影响协调器布局,以便工具栏tablayout(p)将被隐藏。

带有Recyclerview的ViewPager上的NullPointerException

我们的应用程序上有一个带有FragmentPagerAdapter的ViewPager ,它包含三个片段。 其中两个片段由每个片段的Recyclerview组成。 第一页(没有ViewPager的片段)正确显示。 但是,当ViewPager尝试预加载下一页(RecyclerView)时,应用程序崩溃是因为NullPointerException具有以下日志: java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean android.support.v7.widget.RecyclerView$ViewHolder.shouldIgnore()’ on a null object reference at android.support.v7.widget.RecyclerView.findMinMaxChildLayoutPositions(RecyclerView.java:2839) at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:2626) at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3011) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.support.v4.view.ViewPager.onLayout(ViewPager.java:1626) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:573) at android.widget.FrameLayout.onLayout(FrameLayout.java:508) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1703) at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1557) at android.widget.LinearLayout.onLayout(LinearLayout.java:1466) at android.view.View.layout(View.java:15684) at android.view.ViewGroup.layout(ViewGroup.java:4981) at android.support.design.widget.CoordinatorLayout.layoutChild(CoordinatorLayout.java:1000) at […]