tablayout+viewpage框架

来源:互联网 发布:手机如何申请淘宝达人 编辑:程序博客网 时间:2024/05/21 19:37

依赖

banner----tablayout

compile 'com.youth.banner:banner:1.4.9'compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.android.support:design:26.0.0-alpha1'

main布局

<android.support.design.widget.TabLayout    android:id="@+id/tab"    android:layout_width="match_parent"    android:layout_height="50dp"    android:background="#ccc"    ></android.support.design.widget.TabLayout><android.support.v4.view.ViewPager    android:id="@+id/vp"    android:layout_width="match_parent"    android:layout_height="0dp"    android:layout_weight="1"    ></android.support.v4.view.ViewPager>
属性动画类    -------到郭霖微博哟粘
PointEvaluator   point    MyAnimView(自定义动画类)

import android.animation.Animator;import android.animation.ValueAnimator;import android.content.Context;import android.content.Intent;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.View;/** * 陈敏慧 * Created by d on 2017/10/25. */public class MyAnimView extends View{    public static final float RADIUS = 50f;    private Point currentPoint;    private Paint mPaint;    private Context context;    public MyAnimView(Context context, AttributeSet attrs) {        super(context, attrs);        mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);        mPaint.setColor(Color.BLUE);        this.context=context;    }    @Override    protected void onDraw(Canvas canvas) {        if (currentPoint == null) {            currentPoint = new Point(RADIUS, RADIUS);            drawCircle(canvas);            startAnimation();        } else {            drawCircle(canvas);        }    }    private void drawCircle(Canvas canvas) {        float x = currentPoint.getX();        float y = currentPoint.getY();        canvas.drawCircle(x, y, RADIUS, mPaint);    }    private void startAnimation() {        Point startPoint = new Point(RADIUS, RADIUS);        Point endPoint = new Point(getWidth() - RADIUS, getHeight() - RADIUS);        ValueAnimator anim = ValueAnimator.ofObject(new PointEvaluator(), startPoint, endPoint);        anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {            @Override            public void onAnimationUpdate(ValueAnimator animation) {                currentPoint = (Point) animation.getAnimatedValue();                invalidate();            }        });        anim.setDuration(5000);        anim.start();        anim.addListener(new Animator.AnimatorListener() {            @Override            public void onAnimationStart(Animator animator) {            }            @Override            public void onAnimationEnd(Animator animator) {                 context.startActivity(new Intent(context,Main2Activity.class));            }            @Override            public void onAnimationCancel(Animator animator) {            }            @Override            public void onAnimationRepeat(Animator animator) {            }        });    }    myanimation myanimation;    public void setanimation(myanimation myanimation){        this.myanimation=myanimation;    }    interface  myanimation{        public void anima();    }}
主类中
public class Main2Activity extends AppCompatActivity {    private ViewPager vp;    private android.support.design.widget.TabLayout tab;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main2);        //找控件        tab = (TabLayout) findViewById(R.id.tab);        vp = (ViewPager) findViewById(R.id.vp);        //设置模式        List<String> list = new ArrayList<>();        ArrayList<Fragment> fragments = new ArrayList<>();        list.add("最新日报");        list.add("专栏");        list.add("主题日报");        fragments.add(new Fragment1());        fragments.add(new Fragment2());        fragments.add(new Fragment3());        System.out.println("=================="+list);        System.out.println("=================="+fragments.size());        vp.setAdapter(new MyAdapter(getSupportFragmentManager(),list,fragments));       // tab.setTabMode(android.support.design.widget.TabLayout.MODE_SCROLLABLE);        tab.setupWithViewPager(vp);    }}
fragment轮播类
布局:
<com.youth.banner.Banner    android:id="@+id/banner"    android:layout_width="match_parent"    android:layout_height="150dp"    indicator_height="20dp"    indicator_width="20dp"></com.youth.banner.Banner><android.support.v7.widget.RecyclerView    android:id="@+id/recy"    android:layout_width="match_parent"    android:layout_height="0dp"    android:layout_weight="1"    ></android.support.v7.widget.RecyclerView>

//找控件设置轮播banner.setImageLoader(new ImageLoaderBanner());banner.setImages(imglist);banner.start();



原创粉丝点击