问题记录 170228 viewpager同时显示前后,即同时显示三张图

来源:互联网 发布:上虞淘宝培训学校 编辑:程序博客网 时间:2024/05/16 19:02

看了大神的http://www.open-open.com/lib/view/open1462840410556.html  viewpager翻转动画。发现有很好的翻转动态效果,但不是我要的显示效果,最后看到这个文章http://blog.csdn.net/wzy_1988/article/details/50463406。

我的如下:

<com.xxx.ViewPageContainer    android:layout_width="match_parent"    android:layout_height="match_parent"    android:layout_centerInParent="true"    android:clipChildren="false">    <android.support.v4.view.ViewPager        android:id="@+id/main_bg_vp"        android:layout_width="600dp"        android:layout_height="match_parent"        android:layout_gravity="center"        android:clipChildren="false" /></com.xxx.ViewPageContainer>

ViewPagerContainer的源码和上个作者的一样

import android.content.Context;import android.support.v4.view.ViewPager;import android.util.AttributeSet;import android.view.View;import android.widget.FrameLayout;/** * Created by Administrator on 2017/2/28. */public class ViewPageContainer extends FrameLayout {    private ViewPager mViewPager;    public ViewPageContainer(Context context) {        this(context, null);    }    public ViewPageContainer(Context context, AttributeSet attrs) {        this(context, attrs, 0);    }    public ViewPageContainer(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        initData();    }    private void initData() {        // 允许子View在其区域内进行绘制        setClipChildren(false);        // child clip功能在Android3.x之后的版本会因为硬件加速而不起作用,所以这里需要关闭硬件加速功能        setLayerType(View.LAYER_TYPE_SOFTWARE, null);    }    @Override    protected void onFinishInflate() {        super.onFinishInflate();        try {            mViewPager = (ViewPager) getChildAt(0);        } catch (Exception e) {            throw new IllegalStateException("The root child of PagerContainer must be a ViewPager");        }    }    public ViewPager getViewPager() {        return mViewPager;    }}
最后效果图如下:


0 0
原创粉丝点击