Android进阶之路
来源:互联网 发布:1 10月进出口数据 编辑:程序博客网 时间:2024/06/07 02:24
阅读与使用此文知识,仅需5-15分钟
在没有成为巨人之前,至少我们可以看起来像个巨人。
使用Github上码者已经封装好的三方控件-RollPagerView,快速的实现轮播效果。
在此之前我写代码的时候,往往会写很多东西,需要shape点的颜色大小,同时创建多个List用于存储数据,而且进行数据连接,经常会出现一些小问题,当前这个RollPagerView的原理和我们平常写的是轮播原理是一样的,只不过更方便使用,或许5分钟我们就已经集成完毕了,下面请进入Code Timer 。
Effect :
原作者的Github地址:
https://github.com/Jude95/RollViewPager#usage
build.gradle 添加:
compile 'com.jude:rollviewpager:1.4.6'
在需要使用轮播的地方,使用我们引用的第三方控件:
<com.jude.rollviewpager.RollPagerView android:layout_margin="3dp" android:id="@+id/carousel_image" android:layout_width="match_parent" android:layout_height="180dp" app:rollviewpager_play_delay="3000"/>
MainActivity:
package com.example.carouselimage;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.Toast;import com.jude.rollviewpager.OnItemClickListener;import com.jude.rollviewpager.RollPagerView;import com.jude.rollviewpager.adapter.StaticPagerAdapter;import com.jude.rollviewpager.hintview.ColorPointHintView;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private RollPagerView mCarousel; private List imagesList=new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { mCarousel = (RollPagerView) findViewById(R.id.carousel_image); imagesList.add(R.drawable.img_1); imagesList.add(R.drawable.img_2); imagesList.add(R.drawable.img_3); imagesList.add(R.drawable.img_4); imagesList.add(R.drawable.img_5); //设置轮播图下的点的颜色 mCarousel.setHintView(new ColorPointHintView(this,Color.RED,Color.WHITE)); //设置图片轮播时间 mCarousel.setPlayDelay(2000); //设置动画的持续时间 //设置动画后很别扭,取消与否在与自己 // mCarousel.setAnimationDurtion(2000); mCarousel.setAnimationDurtion(0); //设置适配器 mCarousel.setAdapter(new OurAdapter(imagesList)); //子条目点击 mCarousel.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(int position) { Toast.makeText(MainActivity.this,"This item is "+position,Toast.LENGTH_LONG).show(); } }); } public class OurAdapter extends StaticPagerAdapter{ List lists=new ArrayList(); public OurAdapter(List lists) { this.lists = lists; } @Override public View getView(ViewGroup container, int position) { ImageView imageView = new ImageView(container.getContext()); imageView.setImageResource((Integer) lists.get(position)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT)); return imageView; } @Override public int getCount() { return lists.size(); } }
MainActivity Xml :
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.carouselimage.MainActivity"> <com.jude.rollviewpager.RollPagerView android:layout_margin="3dp" android:id="@+id/carousel_image" android:layout_width="match_parent" android:layout_height="180dp" app:rollviewpager_play_delay="3000"/></LinearLayout>
1 0
- Android进阶之路
- android进阶之路
- Android 进阶之路
- Android 进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Android进阶之路
- Struts 不同namespace之间的action的跳转
- Codeforces 451E Devu and Flowers 容斥原理暴力+Lucas定理
- Kinect 骨骼追踪数据的处理方法
- unity实现按钮和攻击对象的选定
- Makefile学习笔记<文件名操作函数>
- Android进阶之路
- 文章标题
- linux 下的v4l2运行
- 云客Drupal8源码分析之通用唯一识别码UUID
- 使用InternetCrackUrl分解url
- BZOJ 1433: [ZJOI2009]假期的宿舍 二分图最大匹配
- c++之多态
- 蒋方舟:青年导师是会撒谎的扳手(不知道李开复有何感想)
- WebStrom Mac 应用 闪退打不开 LSOpenURLsWithRole() failed with error -10810 for the file /Applications/Web