Android广告展示ViewPager

来源:互联网 发布:大数据概述及其趋势 编辑:程序博客网 时间:2024/06/11 01:12

从资源文件里面获取

public class MainActivity extends Activity {private LayoutInflater inflater;private LinearLayout line_mountainflower_main;private ViewPager adViewPager;private View adview1, adview2, adview3;private TimerTask timertask;private Timer timer;private int[] drawables = { R.drawable.five, R.drawable.four,R.drawable.six };private Handler handler = new Handler() {public void handleMessage(android.os.Message msg) {// 设置他的滑动速度adViewPager.setCurrentItem(currentitem % 5, false);currentitem++;};};@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);inflater = LayoutInflater.from(MainActivity.this);initViews();initAds();}private void hehe() {// TODO Auto-generated method stubif (timertask != null) {timertask.cancel();timertask = null;}if (timer != null) {timer.cancel();timer = null;}if (timertask == null) {timertask = new TimerTask() {@Overridepublic void run() {handler.obtainMessage().sendToTarget();}};timer = new Timer();timer.schedule(timertask, 2000, 2000);}}private ArrayList<View> adViews;private ImageView adpic1, adpic2, adpic3;private ImageView[] images;private int currentitem = 0;private AdViewPagerAdapter adPagerAdapter;private void initAds() {// TODO Auto-generated method stubline_mountainflower_main.removeAllViews();View adView = inflater.inflate(R.layout.mountainflower_admain, null);line_mountainflower_main.addView(adView);adViewPager = (ViewPager) findViewById(R.id.adviewpager);adViews = new ArrayList<View>();adview1 = inflater.inflate(R.layout.adview1, null);adview2 = inflater.inflate(R.layout.adview2, null);adview3 = inflater.inflate(R.layout.adview3, null);adpic1 = (ImageView) adview1.findViewById(R.id.adpic1);adpic2 = (ImageView) adview2.findViewById(R.id.adpic2);adpic3 = (ImageView) adview3.findViewById(R.id.adpic3);images = new ImageView[] { adpic1, adpic2, adpic3 };for (int i = 0; i < images.length; i++) {images[i].setImageResource(drawables[i]);}adViews.add(adview1);adViews.add(adview2);adViews.add(adview3);currentitem = 0;adPagerAdapter = new AdViewPagerAdapter(adViews);adViewPager.setAdapter(adPagerAdapter);hehe();}private void initViews() {// TODO Auto-generated method stubline_mountainflower_main = (LinearLayout) findViewById(R.id.line_mountainflower_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.activity_main, menu);return true;}}


Adapter:

public class AdViewPagerAdapter extends PagerAdapter {private ArrayList<View> Views;private int[] drawables = {R.drawable.five,R.drawable.four,R.drawable.six};public AdViewPagerAdapter(ArrayList<View> views) {super();this.Views = views;}@Overridepublic int getCount() {return Views.size();}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return arg0 == arg1;}@Overridepublic void destroyItem(View container, int position, Object object) {((ViewPager) container).removeView(Views.get(position));}@Overridepublic Object instantiateItem(View container, int position) {if (position >= Views.size() - 1) {int newPosition = position % Views.size();position = newPosition;}try {((ViewPager) container).addView(Views.get(position), 0);} catch (Exception e) {}return Views.get(position);}}


FileUtil:

public class FileUtil {/** * 创建目录 *  * @param dirName *            目录名字 * @return */public static File createSDDir(String dirName) {File dir = new File(dirName);dir.mkdirs();return dir;}/** * 创建文件 *  * @param fileName *            文件名字 * @return * @throws IOException */public static File createSDFile(String fileName) throws IOException {File file = new File(fileName);file.createNewFile();return file;}/** * 得到设备外部存储目录 */public static final String SDPath = android.os.Environment.getExternalStorageDirectory().getPath() + "/";/** * 保存文件到SD卡 *  * @param bitmap *            图片对象 * @param file *            保存文件的路径 */public static void copyFile(Bitmap bitmap, File file) {try {BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(file));bitmap.compress(Bitmap.CompressFormat.JPEG, 80, bos);bos.flush();bos.close();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}


0 0
原创粉丝点击