【问题标题】:Android PageTransformer kills View functionalityAndroid PageTransformer 杀死视图功能
【发布时间】:2015-02-12 20:54:45
【问题描述】:

我正在使用 PagerSlidingTabStrip 在 Android 布局中使用带有标签的 ViewPager

我的ViewPager 自定义适配器如下:

private static class SlidingPagerAdapter extends PagerAdapter implements IconTabProvider {

    private final List<Tab> mItems;
    private final LayoutInflater mInflator;

    public SlidingPagerAdapter(Context context, List<Tab> tabs) {
        mItems = tabs;
        mInflator = LayoutInflater.from(context);
    }

    @Override
    public int getCount() {
        return mItems.size();
    }

    @Override
    public boolean isViewFromObject(View v, Object obj) {
        return v == (View) obj;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView((View) object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        Tab data = mItems.get(position);
        View child = mInflator.inflate(data.mLayoutResource, container, false);
        container.addView((View) child, 0);
        return child;
    }

    @Override
    public int getPageIconResId(int position) {
        return mItems.get(position).mIconResource;
    }

}

当我将PageTransformer 设置为ViewPager 时,问题就出现了。作为测试,我使用了 Android 文档中提供的ZoomOutPageTransformer

第一次加载 ViewPager 中的子视图时,一切正常。我可以单击项目并更新视图。但是在我第一次滚动 ViewPager 之后,子视图就会停止正确渲染。如果我点击一个项目,我可以感觉到触觉反馈和点击声音,但视图仍保持之前的状态。

我尝试在每次 ViewPager 发生更改时使 View 无效,但这没有帮助。

similar problems when using a ListView inside a ViewPager,所以我尝试将视野外的视图设置为GONE,但这也没有用。

【问题讨论】:

  • 您遇到问题的 android 版本?
  • 棒棒糖 5.0.1。我还没有尝试过其他设备
  • 你是否禁用了硬件加速?
  • 是的,我试过打开和关闭硬件
  • 这里也一样,当设备在 api 21 下时,页面转换器工作正常,但如果设备在棒棒糖上,则完全停止工作,我还没有找到任何解决方案......

标签: android android-viewpager android-pagetransformer


【解决方案1】:

我有一个类似的问题,我可以按照这个 SO 问题的答案来解决它:apply PageTransformer to PagerView as soon as possible 除了我在 fakeDragBy() 中使用了 .0001f

Hacky,但它确实有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多