Viewpager扩展
viewpager设置图片滑动效果
属性:
clichildren=“false”:设置内容是否收到空间大小的限制
overScrollMode=“never”:设置滚动模式
方法:
viewPager.setpagerMargin:设置页与页之间的间隙
viewpager.viewPager.setoffscrenpagLimit();设置当前viewpager显示的内容数量
viewpager.setPageTransFormer(false,new 自定义类):设置自定义滑动效果
自定义类实现viewPager.pagerTransFormer{}
Activity代码
// An highlighted block
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
viewPager=findViewById(R.id.main3_viewpager);
ArrayList<ImageView> imageViews=new ArrayList<>();
ImageView imageView1 = new ImageView(this);
imageView1.setImageResource(R.drawable.t1);
imageViews.add(imageView1);
ImageView imageView2 = new ImageView(this);
imageView2.setImageResource(R.drawable.t2);
imageViews.add(imageView2);
ImageView imageView3 = new ImageView(this);
imageView3.setImageResource(R.drawable.t3);
imageViews.add(imageView3);
ImageView imageView4 = new ImageView(this);
imageView4.setImageResource(R.drawable.t4);
imageViews.add(imageView4);
ImageView imageView5 = new ImageView(this);
imageView5.setImageResource(R.drawable.t5);
imageViews.add(imageView5);
MyAdapter3 myAdapter3 = new MyAdapter3(imageViews);
viewPager.setAdapter(myAdapter3);
viewPager.setPageMargin(60);
viewPager.setOffscreenPageLimit(5);
布局
// An highlighted block
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main3Activity"
android:clipChildren="false"
>
<android.support.v4.view.ViewPager
android:id="@+id/main3_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="100dp"
android:clipChildren="false"
android:overScrollMode="never"
></android.support.v4.view.ViewPager>
</RelativeLayout>
轮播图
导依赖
写布局
图片几个(图片 网址,图片资源id) ,标题集合
常用方法:
setImageLoader(newImageLoadBanner()这是自定义的类继承ImagerLoader):加载器
setbannerTitle(title集合):设置标题
setDelayTime(1000)设置时间
isAutopay(true)自动播放
serIndicatorCoraity(BannerConfig.)位置
serBannerAnimation(TransFormer.Default)设置动画效果
setBannerstyle(BannerConfig.)样式
start();启动
Activity代码
// An highlighted block
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
banner=findViewById(R.id.main_banner);
ArrayList<Integer> list=new ArrayList<>();
list.add(R.drawable.t1);
list.add(R.drawable.t2);
list.add(R.drawable.t3);
list.add(R.drawable.t4);
list.add(R.drawable.t5);
ArrayList<String> title=new ArrayList<>();
title.add("我是标题1");
title.add("我是标题2");
title.add("我是标题3");
title.add("我是标题4");
title.add("我是标题5");
banner.setImages(list);
banner.setImageLoader(new Imgload());
banner.setBannerTitles(title);
banner.setDelayTime(500);
banner.isAutoPlay(true);
banner.setIndicatorGravity(BannerConfig.CENTER);
banner.setBannerAnimation(Transformer.Default);
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
banner.start();
}
public class Imgload extends ImageLoader{
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
imageView.setImageResource(Integer.parseInt(path.toString()));
}
}
布局代码
// An highlighted block
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.youth.banner.Banner
android:id="@+id/main_banner"
android:layout_width="match_parent"
android:layout_height="200dp">
</com.youth.banner.Banner>
</LinearLayout>