public class FragmentOne extends Fragment implements Runnable {
private ViewPager viewPager;
private int[] gg = new int[]{R.mipmap.header_pic_ad1, R.mipmap.header_pic_ad2};
private List<ImageView> showPager = new ArrayList<ImageView>();
private ViewGroup dotViewGroup;
private List<ImageView> dotView = new ArrayList<ImageView>();
private View view;
private Thread t;
Override
public void onAttach(Context context) {
super.onAttach(context);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
viewPager = (ViewPager) view.findViewById(R.id.show_view);
dotViewGroup = (ViewGroup) view.findViewById(R.id.dot_layout);
for (int i = 0; i < gg.length; i++) {
ImageView v = new ImageView(getContext());
v.setScaleType(ImageView.ScaleType.CENTER_CROP);
v.setImageResource(gg[i]);
showPager.add(v);
ImageView dot = new ImageView(getContext());
dot.setImageResource(R.drawable.dot2);
dot.setMaxHeight(100);
dot.setMaxWidth(100);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(50, 50);
layoutParams.leftMargin = 20;
dot.setLayoutParams(layoutParams);
dot.setEnabled(false);
dotViewGroup.addView(dot);
dotView.add(dot);
}
viewPager.setAdapter(new PagerAdapter() {
@Override
public int getCount() {
return gg.length;
}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
return view == object;
}
@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {
ImageView imageView = showPager.get(position);
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((View) object);
}
});
t = new Thread(this);
t.start();
viewPager.setCurrentItem(0);
setDotView(0);
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
setDotView(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
//创建视图
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.fragment_one, container, false);
return view;
}
@Override
public void onStart() {
super.onStart();
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onStop() {
super.onStop();
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
@Override
public void onDestroy() {
super.onDestroy();
}
private void setDotView(int position) {
for (int i = 0; i < dotView.size(); i++) {
dotView.get(i).setImageResource(position == i ? R.drawable.dot : R.drawable.dot2);
}
}
@Override
public void run() {
int item = 0;
while (item < gg.length) {
viewPager.setCurrentItem(item);
setDotView(item);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (item == (gg.length - 1))
item = 0;
else
item++;
}
}