效果如图:
在宜昌等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、网站制作 网站设计制作定制制作,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销推广,成都外贸网站建设,宜昌网站建设费用合理。
首先说下方的这几个点,这个点不是图片效果,而是Android自带的shape画的椭圆,使椭圆的宽高一样,就变成原型,然后设置颜色即可。
这2个点的代码如下:
红色点的代码
灰色点的代码
整体思路:
1、要展示viewpager,就要先把图片获取,图片是放在drawable-hdpi里的5张图片。
2、把图片放到一个list里,这个类似listview
3、利用viewpager的适配器,展示图片
4、在图片的适配器里根据位置加载每个图片资源,同时把图片下方的文字和选中的点显示
5、同时在适配器里要销毁已经隐藏的图片占用的资源
6、截止上一步,已经可以滑动图片了,但是图片滑动时,文字和点没有跟着变化,此时需要利用viewpage人的滑动监听,来处理文字变化和点的变化
7、viewpager有一个
viewpager.addOnPageChangeListener(new MyOnPageChangeListener());
监听,就new一个内部类,在内部类里通过图片滑动时的回调方法来实现。具体代码如下
MainActivity.java
package com.yuanlp.viewpager; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity"; private ViewPager viewpager; private TextView tv_title; private LinearLayout ll_point_group; private Listp_w_picpathviews; //存放p_w_picpathview的集合,以便后期放入pageadapter中 //图片资源ID private final int[] p_w_picpathIDs={ R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e }; //图片标题集合 private final String[] p_w_picpathDescriptions={ "硅谷拔河比赛", "凝聚你我,放飞梦想", "抱歉,满座了", "七月热浪滔天", "加油努力学习" }; //上一次点位高亮显示的位置 private int prePosition=0; //为了使广告隔段时间自动切换下一张图片,需要在此用到Handler private Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { int item=viewpager.getCurrentItem()+1; viewpager.setCurrentItem(item); //延迟发消息 handler.sendEmptyMessageDelayed(0,4000); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewpager= (ViewPager) findViewById(R.id.viewpager); tv_title= (TextView) findViewById(R.id.tv_title); ll_point_group= (LinearLayout) findViewById(R.id.ll_point_group); p_w_picpathviews=new ArrayList (); MyPagerAdapter pagerAdapter=new MyPagerAdapter(); for (int i=0;i
分享名称:viewpager实现广告滑动及文字滑动和下方点的选中状态改变
URL分享:http://cdweb.net/article/jggsdp.html