Articles of android viewpager

我如何禁用ViewGroup的所有孩子的所有触摸事件?

我有一个FrameLayout容器包含很多东西(包括ScrollView , WebView , ViewPager等)。 我想能够触发此容器上的onClick事件,但似乎有一些ScrollView , WebView和ViewPager拦截触摸事件,因为onClick事件只有当我点击容器的部分不触发有任何他们… 如何禁用容器的所有触摸事件,以便触发onClick中的任何位置? UPDATE 这个想法是有像Android 3.2中的任务pipe理器,即应用程序的当前可见屏幕显示为一个缩小的图标,可以点击。 谢谢

Android视差效果和视图传呼机

我试图在我的应用程序中实现视差效果。 我有一个FragmentActivity实现了OnPageChangeListener接口,并侦听我的ViewPager滚动事件。 为了在我的XML中达到这个效果,我在背景的所有其他视图背后都有一个LinearLayout ,并将其移动到onPageScrolledcallback中。 如果我只是轻扫一切OK,效果起作用,背景位置改变。 但是当我的手指离开屏幕时,背景被重新绘制在原来的位置(即使我在新的页面中)。 我不明白为什么会发生这种情况。 这里是我的FragmentActivity的代码: public class MainActivity extends FragmentActivity implements OnPageChangeListener { // DEFINE THE PAGEADAPTER private ViewPager viewPager; private com.angtrim.ecomilano.PagerAdapter pagerAdapter; private int oldPosition = 0; private int offSet = 0; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // CREATE VIEWPAGER viewPager = (ViewPager) findViewById(R.id.viewpager); pagerAdapter = new PagerAdapter(getApplicationContext(),getSupportFragmentManager()); […]

尝试在空对象引用上调用虚拟方法'void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)'

我试图使用android材质devise来实现滑动标签布局。 但它给了我NullPointerException 。 这是我的代码到目前为止: MainActivity.java public class MainActivity extends ActionBarActivity { private Toolbar toolbar; private ViewPager pager; private SlidingTabLayout nLayout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main_appbar); toolbar = (Toolbar) findViewById(R.id.app_bar); setSupportActionBar(toolbar); getSupportActionBar().setDisplayShowHomeEnabled(true); NavigationDrawerFragment drawerFragment = (NavigationDrawerFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_drawer_fragment); drawerFragment.setUp(R.id.navigation_drawer_fragment, (DrawerLayout) findViewById(R.id.drawer_layout), toolbar); pager = (ViewPager) findViewById(R.id.pager); pager.setAdapter(new MyPagerAdapter(getSupportFragmentManager())); nLayout = (SlidingTabLayout) findViewById(R.id.tabs); nLayout.setViewPager(pager); } […]

如何获得FragmentPagerAdapter的当前位置?

我有一个适配器扩展FragmentPagerAdapter并利用ICS风格的actionBar。 该操作栏具有从当前select的页面获取input的操作。 具体来说,我在操作栏中有一个截图图标,它显示当前页面的URL并显示来自该URL的任何截图。 但是,我不知道如何检索当前select的页面。 我怎样才能实现像 public int getActivePage() { return position; 我仍然在研究viewpager的实现,所以我的代码依然严重依赖于例子,所以忽略了这个混乱:P 问题领域如下所示。 public class ListFragmentViewPagerActivity extends FragmentActivity { ArrayList<String> URLS; ArrayList<String> TITLES; BroadcastReceiver receiver; String threadTitle = null; public static String threadUrl = null; String type = null; String threadAuthor = null; String ident = null; boolean isFav = false; String author = null; […]

Viewpager上的VideoView,切换页面时停止video

我有一个viewpager与不同的片段,其中一个有一个videoview在其中。 如果我在播放video的时候切换页面,那么即使我在不​​同的页面上,它也会重新播放。 我试着像这样实现ViewPager的OnPageChangeListener: viewpager.setOnPageChangeListener(new OnPageChangeListener() { @Override public void onPageSelected(int position) { if(position!=mAdapter.getCount()-1){ MultimediaFragment frag = (MultimediaFragment)mAdapter.getItem(position+1); frag.onPageIsChanged(); } if(position != 0){ MultimediaFragment frag = (MultimediaFragment)mAdapter.getItem(position-1); frag.onPageIsChanged(); } } 与onPageIsChanged()是我自己的方法,试图告诉我的videoview属性停止和隐藏控制: public void onPageIsChanged() { if(mVideoView!=null){ if(mVideoView.isPlaying()){ mVideoView.stopPlayback(); } mMedia.hide(); } } 问题是mVideoView总是空的,即使它在后台播放。 这个video是在片段的OnCreateView方法上创build的,但是不应该保持设置为我的mVideoView字段,直到片段被销毁?

如何在android滑动选项卡布局中alignment活动选项卡中心

我有Android项目中的12个项目布局+查看传呼机。 从左向右滑动时,选定的标签应该与Play商店相同。 请帮我怎么做。 在我的应用程序中,活动标签总是在屏幕左侧。

带有RecyclerView的Android ViewPager在BottomSheet中不正确地工作

当我尝试滚动列表,有时这工作不正确 – BottomSheet截获滚动事件和隐藏。 如何重现这一点: 打开底部表单 更改ViewPager的页面 尝试滚动列表 结果:BottomSheet将被隐藏。 这里是示例代码: 编译'com.android.support:design:23.4.0' MainActivity.java package com.nkdroid.bottomsheetsample; import android.os.Bundle; import android.support.design.widget.BottomSheetBehavior; import android.support.design.widget.TabLayout; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private BottomSheetBehavior behavior; @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); […]

如何使用视图寻呼机来处理返回button?

我有使用视图寻呼机呈现的两个碎片碎片A和碎片B. 如果用户已经从A刷到B然后按下返回button(当在B)时,那么用户应该去A而不是从视图寻呼机出来。 我们怎样才能做到这一点? 将交易添加到堆栈似乎没有帮助。 谢谢

具有相同类的多个片段实例的ViewPager

我正在尝试创build一个包含5个片段的ViewPager。 5个片段“容器”,所以他们每个都包含2个片段。 4个第一个片段具有相同的布局,属于同一个类别。 第五个来自另一个class级,这个没有问题。 问题是,当活动启动时,只有1个片段似乎正在工作(viewPager中位置0的一个)。 我尝试在我的PagerAdapter中的位置0处返回新的Fragment(),但是当我这样做的时候,它是正在工作的第二个片段。 (通过工作,我的意思是显示在左边的列表,我仍然没有照顾右边的细节片段) 这是一些代码 CustomPagerAdapter.java public class CustomPagerAdapter extends FragmentPagerAdapter{ public CustomPagerAdapter(FragmentManager fm) { super(fm); } public CustomPagerAdapter(FragmentManager fm, Context context) { super(fm); } @Override public Fragment getItem(int pos) { if(pos == 4) return new OtherContainerFragment(); else return new ContainerFragment(pos); } @Override public int getCount() { return 5; } ContainerFragment.java public […]

Androidasynchronous查看传呼机加载数据

我需要一个视图寻呼机实现的解决scheme。 首先我从单个页面的数据库中加载大量的数据,所以有时在刷卡过程中减慢了刷卡频率(你需要在页面上多次刷卡),就像在后台执行取出任务一样。 我没有使用asynchronous任务来返回视图。 有没有办法延迟加载页面,只允许用户在其他页面上刷卡,但数据被延迟加载。 我的代码示例如下所示; public Object instantiateItem(View container, int position) { View v; v = View.inflate(context,R.layout.swipearea, null); listView = (ListView)v.findViewById(R.id.MyListView); largeDataCall(); ((ViewPager)container).addView(v); return v; } 我正在调用这个创build方法。 pager=(ViewPager) findViewById(R.id.pagerAdapter); pager.setAdapter(new SimplePager(MyPager.this)); pager.setCurrentItem(364); 有没有解决办法?