Ma7*_*gar 11 android android-fragments
我有一个Activity包含ViewPager,这个ViewPager中的第一个Fragment包含ListView,当我点击任何Item时它用选定的一个替换这个Fragment,我使用setCurrentItem(selectedItem,true)//for smooth scroll
ViewPager滑过所有Fragments,然后选择Fragment我想让它滑到选中的Fragment在我试图使用的所有片段PageTransfrom.transformPage上
@Override
public void transformPage(View page, float position) {
int currentItem = viewPager.getCurrentItem();
if (currentItem != selectedItem)
page.setVisibility(View.GONE);
}
Run Code Online (Sandbox Code Playgroud)
但没有运气
一种可能的解决方案是修改 PagerAdapter 以始终返回您想要的第 2 项页面。
getItem(int position)当单击第一页中的任何项目时,首先更改PagerAdapter 方法的实现(如果您的 PagerAdapter 是在代码的同一类文件中实现的话,这很容易),以返回您想要的页面position == 2,然后称呼setCurrentItem(2, true)。这可以直接平滑滚动到所选页面。您可能还需要更改getCount()以将计数限制为仅 2,否则下一页可能不是预期的页面。
但此方法会忽略其他页面。用户只能滚动回第一页,然后导航到另一个页面。如果您想通过手动滚动(而不是通过单击)保持页面的自然顺序,您可以getItem(int position)在滚动(通过单击)停止后恢复到默认实现,并通过调用setCurrentItem(position, false)(立即,这次不太顺利),然后用户可以手动来回滚动。
| 归档时间: |
|
| 查看次数: |
5961 次 |
| 最近记录: |