import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends Activity {
private ViewPager viewpager_1;
private LinearLayout dian_ll;
private List<ImageView> dianList =new ArrayList<ImageView>();
private int currentPosition = 0;
private final static int AD_START_PLAY=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewpager_1= (ViewPager) findViewById(R.id.viewpager_1);
dian_ll= (LinearLayout) findViewById(R.id.dian_ll);
viewpager_1.setAdapter(new adapter());
handler.removeMessages(AD_START_PLAY);
handler.sendEmptyMessageDelayed(AD_START_PLAY, 3000);
viewpager_1.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if (currentPosition !=position){
dianList.get(position).setImageDrawable(getResources().getDrawable(R.mipmap.page_indicator));
dianList.get(currentPosition).setImageDrawable(getResources().getDrawable(R.mipmap.page_indicator_focused));
currentPosition =position;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
setDian(dian_ll,4);
}
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case AD_START_PLAY:
int currentItem = viewpager_1.getCurrentItem();
int totalCount = viewpager_1.getAdapter().getCount();
if (currentItem + 1 >= totalCount) {
viewpager_1.setCurrentItem(0, true);
} else {
viewpager_1.setCurrentItem(currentItem + 1, true);
}
handler.sendEmptyMessageDelayed(AD_START_PLAY, 3000);
break;
}
}
};
private void setDian(LinearLayout fragment_course_adDots,int num){
fragment_course_adDots.removeAllViews();
for (int i=0;i<num;i++){
ImageView imageView=new ImageView(MainActivity.this);
imageView.setLayoutParams(new ViewGroup.LayoutParams( ViewPager.LayoutParams.WRAP_CONTENT,ViewPager.LayoutParams.WRAP_CONTENT));
dianList.add(imageView);
if (i==0){
dianList.get(i).setImageDrawable(getResources().getDrawable(R.mipmap.page_indicator));
}else {
dianList.get(i).setImageDrawable(getResources().getDrawable(R.mipmap.page_indicator_focused));
}
fragment_course_adDots.addView(dianList.get(i));
}
}
private class adapter extends PagerAdapter {
@Override
public int getCount() {
return 4;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView=new ImageView(getBaseContext());
imageView.setImageResource(R.mipmap.ic_launcher);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
}
}
下载地址:
http://download.csdn.net/detail/u011531708/9702208