tablayout+viewpage框架

依赖

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();

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值