在布局中加入一个RollPagerView(图片轮播的控件)和KenBurnsView控件(图片自动缩放的控件)
注意:*不要忘记写读写权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
*在build.gradle(Module:app)中编写:
//图片轮播的控件
compile 'com.jude:rollviewpager:1.3.4'
//图片自动缩放的控件
compile 'com.flaviofaria:kenburnsview:1.0.7'
程序代码:
package com.example.administrator.jreduch08;
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 com.flaviofaria.kenburnsview.KenBurnsView;
import com.jude.rollviewpager.OnItemClickListener;
import com.jude.rollviewpager.RollPagerView;
import com.jude.rollviewpager.adapter.StaticPagerAdapter;
import com.jude.rollviewpager.hintview.ColorPointHintView;
public class RollPagerViewActivity extends AppCompatActivity {
private RollPagerView rollPagerView;
private KenBurnsView kenBurnsView;
private int[] imgs={
R.mipmap.a1,
R.mipmap.a2,
R.mipmap.a3,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
rollPagerView=(RollPagerView)findViewById(R.id.roll_view_pager);
kenBurnsView=(KenBurnsView)findViewById(R.id.image);
//设置播放间隔
rollPagerView.setPlayDelay(3000);
//设置透明度
rollPagerView.setAnimationDurtion(500);
//设置适配器
rollPagerView.setAdapter(new TestNormalAdapter(imgs));
//自定义指示器
//rollPagerView.setHintView(new IconHintView(this,R.drawable.,R.drawable.));
//设置圆点指示器颜色
rollPagerView.setHintView(new ColorPointHintView(this, Color.BLUE,Color.WHITE));
//设置文字指示器
//rollPagerView.setHintView(new TextHintView(this));
//隐藏指示器
// rollPagerView.setHintView(null);
rollPagerView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position) {
kenBurnsView.setImageResource(imgs[position]);
}
});
}
public class TestNormalAdapter extends StaticPagerAdapter{
private int[] imgs;
public TestNormalAdapter(int[] imgs) {
this.imgs = imgs;
}
@Override
public View getView(ViewGroup container, int position) {
ImageView view=new ImageView(container.getContext());
view.setImageResource(imgs[position]);
view.setScaleType(ImageView.ScaleType.CENTER_CROP);
view.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
));
return view;
}
@Override
public int getCount() {
return imgs.length;
}
}
}