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();
阅读全文
0 0
- tablayout+viewpage框架
- Tablayout+Viewpage
- TabLayout+ViewPage
- TabLayout+ViewPage
- TabLayout+ViewPage导航栏
- TabLayout和Viewpage连用
- TabLayout与ViewPage联用
- TabLayout+ViewPage+Fragment的使用
- Android Fragment viewPage TabLayout用法。
- DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- TabLayout+viewpage+listView+PullTORefresh(viewpage联动listview上拉下拉)
- TabLayout顶部导航栏+ViewPage实现联动
- TabLayout+ViewPage+Fragment简单使用的方法
- tablayout实现viewpage的滚动标示
- Tablayout与Viewpage实现联动效果
- Banner+DrawerLayout+Tablayout+PullTofresh+Fragment(Viewpage)
- Android Tablayout和viewpage fragment连用
- Android通知栏的技术更新
- 习题3 3.2
- 21分钟 MySQL 入门教程
- 选择排序
- RecyclerView多条目加载(网络请求数据)
- tablayout+viewpage框架
- 细说SDRAM控制器
- Linux环境变量
- c#常用集合类使用练习(队列Queue、栈Stack、哈希表Hashtable和动态数组ArrayList)(4):
- vue实现带图片的标题栏
- 程序流程控制
- 010-题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
- 栈匹配括号(C++ STL实现)
- 一个简单的基于udp协议的聊天程序