我将 PageTransfomer 应用于 ViewPager,效果很好,但我想在将 PageTransformer 设置为 ViewPager 后立即启动页面的转换。
我已经尝试过:
- 设置当前项目(int)
- setCurrentItem(int,true)
- beginFakeDrag()、fakeDragBy(float)、endFakeDrag()
- 无效()
- getAdapter().notifyDataSetChanged()
我已经在我的活动的 onCreate 中尝试了所有这些,但也许我错了。
有人有线索吗 ?
Thanks
根据奥列格的回答,我的应用程序使用了以下代码。
我的补充是检查返回的结果beginFakeDrag()
inside _invalidatePageTransformer
.
I call sendInvalidatePageTransformer()
从内部
-
onConfigurationChanged()
当方向改变时
-
在 - 的里面LoaderCallback<Cursor>
-我的片段中的方法
private Handler handler = new Handler()
{
public void handleMessage(Message msg)
{
switch(msg.what)
{
case 0:
_invalidatePageTransformer();
break;
}
}
};
private void _invalidatePageTransformer()
{
//no need to invalidate if we have no adapter or no items
if (this.getAdapter() != null && this.getAdapter().getCount() > 0)
{
//import check here, only fakeDrag if "beginFakeDrag()" returns true
if (this.beginFakeDrag())
{
this.fakeDragBy(0f);
this.endFakeDrag();
}
}
}
public void sendInvalidatePageTransformer()
{
this.handler.sendEmptyMessage(0);
}
EDIT:注意:此代码位于自定义 ViewPager 子类内
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)