当前位置: 首页 > 知识库问答 >
问题:

Android PageTransformer 扼杀了 View 功能

盛浩阔
2023-03-14

我正在使用PagerSlidingTabela在Android布局中使用带有选项卡的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;
    }

}

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

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

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

在ViewPager中使用ListView时也有类似的问题,所以我尝试将不可见的视图设置为GONE,但这也不起作用。

共有1个答案

凌和悦
2023-03-14

我有一个类似的问题,我能够通过遵循这个SO问题的答案来修复它:尽快将PageTransformer应用于PagerView,除了我在fakeDragBy()中使用了.0001f

黑客,但它工作。

 类似资料:
  • 我在将Android Studio升级到4.1.3版本后发现了这个问题 我不能启动模拟器,甚至不能创建新的模拟器。我得到了错误: 对AVD Pixel_3a_API_28的仿真程序进行了扼杀。 有什么建议吗?

  • 我在云中有一个节点运行的java服务很少,比如logstash、newrelic collector等。几天后,我看到其中一个服务死了。var/log/messages表示如下 newRelic-xms256m-xmx1024m(2个实例)logstash-xmx500m其他java服务:-所有5个服务都配置了-xms256m-xmx1024m 因此,基于此配置,总服务被配置为使用系统拥有的更多内

  • 问题内容: 当Linux内存不足(OOM)耗尽时,OOM杀手根据一些启发式方法选择一个要杀死的进程(这很有趣: http //lwn.net/Articles/317814/)。 如何以 编程方式 确定OOM杀手最近杀死了哪些进程? 问题答案: 试试看:

  • 本文向大家介绍php+redis实现商城秒杀功能,包括了php+redis实现商城秒杀功能的使用技巧和注意事项,需要的朋友参考一下 好久没来整理文章了,闲了没事写篇文章记录下php+redis实现商城秒杀功能。 1、安装redis,根据自己的php版本安装对应的redis扩展(此步骤简单的描述一下) 1.1.安装php_igbinary.dll,php_redis.dll扩展此处需要注意你的php

  • 本文向大家介绍Android自定义View画圆功能,包括了Android自定义View画圆功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android自定义View画圆的具体代码,供大家参考,具体内容如下 引入布局 自定义View的java类,继承View 效果图: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。