广告页动态添加指示圆点(不实现轮播)

1.xml文件

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.learn.ren.myapplication.MainActivity">
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    <LinearLayout
        android:id="@+id/layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="30dp"
        android:gravity="center_horizontal"
        android:orientation="horizontal"></LinearLayout>
</RelativeLayout>
2.adapter

public class Adapter extends PagerAdapter {
   Context context;
   //int[] list;
    List<Integer> list;
   public Adapter(Context context,List<Integer> list) {
      this.context = context;
      this.list=list;
   }

   @Override
   public int getCount() {
      return list.size();
   }

   @Override
   public boolean isViewFromObject(View view, Object object) {
      return view==object;
   }

   @Override
   public Object instantiateItem(ViewGroup container, int position) {
      ImageView iv=new ImageView(context);
      iv.setImageResource(list.get(position));
      iv.setScaleType(ImageView.ScaleType.FIT_XY);
      container.addView(iv);
      return iv;
   }

   @Override
   public void destroyItem(ViewGroup container, int position, Object object) {
       container.removeView((View) object);
   }
}
3.activity

public class MainActivity extends Activity implements ViewPager.OnPageChangeListener{
    LinearLayout mLayout;
    ViewPager mViewPager;
    Adapter mAdater;
    List<Integer> picList;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
        initViewPager();
        setIndicator();
    }

    /**
     * 设置指示器
     */
    private void setIndicator() {
        for(int i=0;i<picList.size();i++){
            View v=new View(this);
            LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(30,30);
            params.leftMargin=20;
            v.setLayoutParams(params);
            v.setBackgroundResource(R.drawable.indicatorselector);
            mLayout.addView(v);
        }
        mLayout.getChildAt(0).setEnabled(false);
    }

    private void initViewPager() {
        mViewPager.setOnPageChangeListener(this);
    }

    private void initView() {
        mLayout= (LinearLayout) findViewById(R.id.layout);
        mViewPager= (ViewPager) findViewById(R.id.viewpager);
        picList=new ArrayList<>();
        picList.add(0,R.mipmap.car1);
        picList.add(1,R.mipmap.car2);
        picList.add(2,R.mipmap.car3);
        picList.add(3,R.mipmap.wlecom);
        picList.add(4,R.mipmap.welcome2);
        picList.add(5,R.mipmap.welcome3);
        mAdater=new Adapter(this,picList);
        mViewPager.setAdapter(mAdater);
    }
    int prePos;
    @Override
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

    }

    @Override
    public void onPageSelected(int position) {
        mLayout.getChildAt(position).setEnabled(false);//显示蓝色
        mLayout.getChildAt(prePos).setEnabled(true);//显示灰色
        prePos=position;
    }

    @Override
    public void onPageScrollStateChanged(int state) {

    }

}

猜你喜欢

转载自blog.csdn.net/forzhers/article/details/52776530
今日推荐