我们最近要做一个类似与屏幕保护的功能,我在此走了不少弯路,先用viewPager去想实现这个功能,但是调试了很久都没达到我预想的效果,后来经过查资料和问了一些朋友,选择了用了第三方的控件ConvenientBanner,这个控件做屏保能很容易的实现炫酷的动画效果,并且能轻松控制动画持续的时间(就这个点花了我很长的时间才找到解决方案,下面不废话直接上代码):
1:public class MainActivity extends AppCompatActivity {
private ConvenientBanner convenientBanner;
private ArrayList<Integer> localImages = new ArrayList<Integer>();
private String type;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
loadTestDatas();
Intent intent = getIntent();
type = intent.getStringExtra("type");
init();
convenientBanner.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position) {
finish();
}
});
//设置滚动时间
convenientBanner.setScrollDuration(4000);
}
private void init() {
//本地图片例子
convenientBanner.setPages(
new CBViewHolderCreator<LocalImageHolderView>() {
@Override
public LocalImageHolderView createHolder() {
return new LocalImageHolderView();
}
}, localImages)
//设置翻页的效果,不需要翻页效果可用不设
.setPageTransformer(transforms());
}
private ViewPager.PageTransformer transforms() {
if (type.equals("0")){
return new DefaultTransformer();
}else if (type.equals("1")){
return new BackgroundToForegroundTransformer();
}else if (type.equals("2")