Articles of android viewpager

处理PagerTitleStrip单击兼容的基于片段的ViewPager

我有一个带有嵌入式PagerTitleStrip元素的兼容性ViewPager ,它工作正常,但是PagerTitleStrip的点击不会按预期切换到相应的视图。 我查看了文档但是小部件没有任何内置方法将onClickListeners附加到PagerTitleStrip对象。 这似乎有点奇怪,因为这可能是大多数人所期望的。 所以问题是如何使标题条可点击? 我也试图弄清楚是否有一种方法可以在选定的标题条下显示粗下划线而不添加TabHost,如果可能的话。 这是代码: 主要布局view_pager.xml: 进入ViewPager的两个片段布局: fragment_connect.xml(第二个是相同的,所以不包括在内) 主要活动类StandardViewPagerActivity.java: package com.example.standardviewpager; import java.util.List; import java.util.Vector; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.view.PagerTitleStrip; import android.support.v4.view.ViewPager; import android.view.Menu; public class StandardViewPagerActivity extends FragmentActivity { private MyPagerAdapter pagerAdapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view_pager); ViewPager myPager = (ViewPager) findViewById(R.id.my_view_pager); PagerTitleStrip pagerStrip = (PagerTitleStrip) […]

通过包将ViewPager Activity中的值发送到Fragment

我有一个ViewPager Activity,它调用代表幻灯片布局的片段。 我需要的是将值从活动传递到片段。 我怎么能这样做? 我尝试在onCreate()中传递一个int 2但不工作,我 活动: @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_screen_slide); Intent intent = new Intent(this,ScreenSlidePageFragment.class); Bundle bundle = new Bundle(); bundle.putInt(“SIDE”,2); intent.putExtras(bundle); /** * Instantiate a ViewPager and a PagerAdapter */ mPager = (ViewPager)findViewById(R.id.pager); mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager()); mPager.setAdapter(mPagerAdapter); mPager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int arg0) { if(itemOld > arg0){ […]

Kotlin – 如何在ViewPager中添加OnPageChangeListener

我是kotlin的新手,如何在ViewPager中添加OnPageChangeListener 。 viewPager?.addOnPageChangeListener // Now how can I add listener to it.

在android中过度滚动的视觉指示

我试图添加一些视觉指示,在ViewPager中没有更多页面在所需的方向上。 但是我很难find一个地方,在哪里放置相关的代码。 我尝试使用以下代码扩展ViewPager类,但Toast未显示( ev.getOrientation()始终返回0)。 我也尝试了历史点,但ev.getHistorySize()也返回0。 我错过了什么? 类示例: public class CustomViewPager extends ViewPager { public CustomViewPager(Context context) { super(context); } public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } /** * @see android.support.v4.view.ViewPager#onTouchEvent(android.view.MotionEvent) */ @Override public boolean onTouchEvent(MotionEvent ev) { boolean result = super.onTouchEvent(ev); switch (ev.getAction() & MotionEventCompat.ACTION_MASK) { case MotionEvent.ACTION_MOVE: if (ev.getOrientation() > 0) { […]

使用ViewPager和Fragments

我是初学者Android开发人员。 我试图绕过ViewPager。 在我尝试使用此示例之前: http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizo​​ntal-view-paging/ 我的视图有效,但无法在其中运行function,我被告知我需要在ViewPager中使用Fragments。 我选择了这个教程: http://tamsler.blogspot.co.uk/2011/11/android-viewpager-and-fragments-part-ii.html 我有一个ViewPager的基础知识,片段工作: FragmentPagerActivity.java import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; public class FragmentPagerActivity extends FragmentActivity { private static final int NUMBER_OF_PAGES = 10; private ViewPager mViewPager; private MyFragmentPagerAdapter mMyFragmentPagerAdapter; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mViewPager = (ViewPager) findViewById(R.id.viewpager); mMyFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); […]

Android ViewPager具有不同的animation,如放大,淡入淡出等

我创建了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); } 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(“”); default: return SecondFragment.newInstance(“Default”); […]

如何将viewpager放入android中的片段?

我有一个活动,我可以在此活动的framelayout上显示一些片段。 我想把一个由片段组成的viewpager放在一个片段而不是FragmentActivity中。 如何才能做到这一点?

ViewPager + FragmentStatePagerAdapter +方向更改

我有一点问题:我有一些带有一些Pages的ViewPager,我使用FragmentStatePagerAdapter来处理数据。 在肖像中,我有例如20页用于ViewPager,在景观中我只有10页用于ViewPager。 因此,在方向更改时,我创建了一个具有不同数据的新适配器。 这里有一个小小的解释原因:我以纵向显示一个图像,在风景中显示两个图像,但总是全部计数。 如果我要显示10张照片,我有10张照片,5张照片(总是两张)。 但现在我有一个奇怪的错误:当我在索引5的Landscape中并转动设备时,ViewPager的当前页面被设置为10.如果我再次将其转回,我在第5页。如果我现在将ViewPage刷到页面10从不调用适配器的methode getItem,ViewPage向我显示一个肖像图片,而不是两个用于横向图片。 怎么会发生这种情况? 适配器或ViewPager中是否有缓存? 在Activity的onCreate中,一切都是新创建的,适配器以及ViewPager的数据(只是带路径的字符串)。 所以任何想法如何解决这个真正可怕的“function”? 这是一些代码: 的onCreate: mViewPagerAdapter = new ReaderPageViewAdapter(getSupportFragmentManager(), getBaseContext(), mCurrentDocument.mPages, getResources() .getConfiguration().orientation); mPageReader = (ReaderViewPager) findViewById(R.id.pager); mPageReader.setAdapter(mViewPagerAdapter); adapter getItem: public Fragment getItem(final int index) { final PageInfo pageInfo = mPages.get(index); final PageFragment pageFragment = (PageFragment) PageFragment .instantiate(mContext, pageInfo.mClss.getName(), pageInfo.mArgs); return pageFragment; } 如果你需要更多东西,请告诉我。 谢谢

无限滚动图像ViewPager

如Google所述,Gallery类在API级别16中已弃用。不再支持此小部件。 其他水平滚动小部件包括支持库中的Horizo​​ntalScrollView和ViewPager。 所以我使用ViewPager作为Gallery类的替代品。 我的目标是最终实现带有文本描述的无限滚动图像ViewPager 。 我使用下面的代码来实现图像ViewPager,其中包含描述每个图像的文本,但是如何将无限滚动应用于ViewPager? 我之前没有使用过ViewPager,请尽量提供详细的代码。 activity_main.xml中: custom_pager.xml: ImagePager: public class ImagePager extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImagePagerAdapter adapter = new ImagePagerAdapter(this, imageArra, stringArray ); ViewPager myPager = (ViewPager) findViewById(R.id.myimagepager); myPager.setAdapter(adapter); myPager.setCurrentItem(0); } private int imageArra[] = { R.drawable.a, R.drawable.b,R.drawable.c, R.drawable.d,R.drawable.e,R.drawable.f, R.drawable.g, R.drawable.h, R.drawable.i}; private String[] stringArray = […]

ViewPager中的片段中未触发OnClick事件

我在ViewPager有我的片段,我希望其中一个片段具有可点击的RelativeLayout 。 我正在使用数据绑定: handlers.onLayoutClick()}”> … … … 我的碎片onCreateView: public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mBind = DataBindingUtil.inflate(inflater, R.layout.fragment_layout, container, false); presenter = new MyPresenter(); mBind.includedLayout.setHandlers(presenter); return mBind.getRoot(); } 但onLayoutClick没有被调用。 它与ViewPager有关吗? 是否需要点击而不是里面的片段? 如果是这样,我该如何解决? 编辑 My ViewPager Adapter: private class MyViewPagerAdapter extends FragmentStatePagerAdapter { public MyViewPagerAdapter(FragmentManager fm) { super(fm); } @Override […]