Android自定义控件5--轮播图广告ViewPager基本实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android自定义控件5--轮播图广告ViewPager基本实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3964字,纯文字阅读大概需要6分钟。
内容图文
![Android自定义控件5--轮播图广告ViewPager基本实现](/upload/InfoBanner/zyjiaocheng/1109/bd930975a17d421aab9a4c83cc6eebde.jpg)
本文地址:http://www.cnblogs.com/wuyudong/p/5918021.html,转载请注明源地址。
本文开始实现轮播图广告系列,这篇文章首先实现让图片滑动起来(ViewPager),效果如下:
首先实现布局
< RelativeLayout xmlns:android ="http://schemas.android.com/apk/res/android" xmlns:tools ="http://schemas.android.com/tools" android:layout_width ="match_parent" android:layout_height ="match_parent" tools:context =".MainActivity" > < RelativeLayout android:layout_width ="match_parent" android:layout_height ="160dp" > < android.support.v4.view.ViewPager android:id ="@+id/viewpager" android:layout_width ="match_parent" android:layout_height ="match_parent" /> < LinearLayout android:layout_width ="match_parent" android:layout_height ="40dp" android:layout_alignParentBottom ="true" android:background ="#66000000" android:gravity ="center_horizontal" android:orientation ="vertical" android:padding ="5dp" > < TextView android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:singleLine ="true" android:text ="和谐社会,和谐社会,和谐社会,和谐社会" android:textColor ="@android:color/white" /> < LinearLayout android:id ="@+id/ll_point_container" android:layout_width ="wrap_content" android:layout_height ="wrap_content" android:layout_marginTop ="5dp" android:orientation ="horizontal" > </ LinearLayout > </ LinearLayout > </ RelativeLayout > </ RelativeLayout >
运行项目,出现下面错误:
09-28 09:08:44.032: E/AndroidRuntime(5794): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wuyudong.viewpager/com.wuyudong.viewpager.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class android.support.v4.view.ViewPager
ViewPager是个很好很强大的控件,很多应用用它来实现很酷的效果,但是很多情况下在运行时会遇到Error inflating class android.support.v4.view.ViewPager这个问题,
这个问题的解决方法很简单:右键项目选择 Build Path ->Configure Build Path,然后选择Order and export 选项.置顶android-support-v4.jar并且将该选项勾上,然后Clean下项目,重新编译问题就解决了~
接着编写逻辑代码:
package com.wuyudong.viewpager; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.Menu; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; public class MainActivity extends Activity { private ViewPager viewPager; privateint[] imageResIds; private ArrayList<ImageView> imageViewList; @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 初始化布局 View 视图 initViews(); // Model 数据 initData(); // Controller 控制器 initAdapter(); } privatevoid initViews() { viewPager = (ViewPager) findViewById(R.id.viewpager); imageResIds = newint[] { R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e }; imageViewList = new ArrayList<ImageView>(); ImageView imageView; for (int i = 0; i < imageResIds.length; i++) { imageView = new ImageView(this); imageView.setBackgroundResource(imageResIds[i]); imageViewList.add(imageView); } } privatevoid initAdapter() { // } privatevoid initData() { // 初始化要显示的数据 viewPager.setAdapter(new MyAdapter()); } class MyAdapter extends PagerAdapter { @Override publicint getCount() { return imageViewList.size(); } // 3、指定复用的判断逻辑 @Override publicboolean isViewFromObject(View view, Object object) { // 当滑到新的条目,又返回来,view是否可以被复用return view == object; } // 1、返回要显示的条目内容,创建条目 @Override public Object instantiateItem(ViewGroup container, int position) { // container:容器:ViewPager // position:当前要显示的条目的位置 ImageView imageView = imageViewList.get(position); // a、把view对象添加到container中 container.addView(imageView); // b、把view对象返回给框架,适配器return imageView; // 必须要重写,否则抛异常 } // 2、销毁条目 @Override publicvoid destroyItem(ViewGroup container, int position, Object object) { // object 要销毁的对象 container.removeView((View) object); } } }
运行项目后效果如下:
原文:http://www.cnblogs.com/wuyudong/p/5918021.html
内容总结
以上是互联网集市为您收集整理的Android自定义控件5--轮播图广告ViewPager基本实现全部内容,希望文章能够帮你解决Android自定义控件5--轮播图广告ViewPager基本实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。