//+++++++++++++++ThreeFragment++++++++++++++++
package com.gx.rikao20181016;
import android.annotation.SuppressLint;
import android.app.Fragment;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
-
A simple {@link Fragment} subclass.
*/
public class ThreeFragment extends Fragment {private TextView textView;
private ViewPager viewPager;
private LinearLayout linearLayout;
private int[] images;
private String[] text;
private ImageView imageView;@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_three, container, false);
//找控件
textView = view.findViewById(R.id.threeTextview);
viewPager = view.findViewById(R.id.threeviewpager);
linearLayout = view.findViewById(R.id.threeimage);images = new int[]{ R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.e, }; text = new String[]{ "大撒大撒达时间","大家撒开了好几个","的撒娇空间分开了","公司凯迪拉克结果","发骚看倒萨"}; //根据图片的数量向布局中添加小红点 for (int x = 0; x< images.length; x++){ LinearLayout.LayoutParams params=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT); params.leftMargin=10; params.width=5; params.height=5; imageView = new ImageView(getActivity()); imageView.setImageResource(R.mipmap.dd); imageView.setId(x); linearLayout.addView(imageView,params); } //给viewpager设置适配器添加图片 viewPager.setAdapter(new PagerAdapter() { @Override public int getCount() { return Integer.MAX_VALUE; } @Override public boolean isViewFromObject(@NonNull View view, @NonNull Object o) { return view==o; } @Override public Object instantiateItem(@NonNull ViewGroup container, int position) { ImageView imageView=new ImageView(getActivity()); imageView.setImageResource(images[position%text.length]); container.addView(imageView); return imageView; } @Override public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) { container.removeView((View) object); } }); //根据监听来根据图片设置图下文字和按钮 viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int i, float v, int i1) { int item = viewPager.getCurrentItem(); /*Toast.makeText(getActivity(),""+item,Toast.LENGTH_SHORT).show();*/ textView.setText(text[item%images.length]); for (int ii=0;ii<images.length;ii++){ linearLayout.getChildAt(ii).setBackgroundResource(ii==item%images.length?R.mipmap.dot_focus:R.mipmap.dd); } } @Override public void onPageSelected(int i) { } @Override public void onPageScrollStateChanged(int i) { if (i==viewPager.SCROLL_STATE_IDLE){ handler.sendEmptyMessageDelayed(0,2000); } else { handler.removeMessages(0); } } }); handler.sendEmptyMessage(0); return view;
}
@SuppressLint(“HandlerLeak”)
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
int item = viewPager.getCurrentItem();
viewPager.setCurrentItem(item+1);
handler.sendEmptyMessageDelayed(0,2000);
break;
}
}
};
}
//+++++++++++++++++++适配器MyBigAdapter+++++++++
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyBigAdapter extends FragmentPagerAdapter {
public MyBigAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int i) {
return null;
}
@Override
public int getCount() {
return 0;
}
}
//++++++++++++++++布局+++++++++++
<+++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=".ThreeFragment">
<android.support.v4.view.ViewPager
android:id="@+id/threeviewpager"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginStart="0dp"
android:layout_marginTop="0dp">
</android.support.v4.view.ViewPager>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="vertical"
android:layout_alignBottom="@+id/threeviewpager"
android:layout_alignParentStart="true"
android:gravity="center"
android:background="#88666666">
<TextView
android:gravity="center"
android:id="@+id/threeTextview"
android:layout_width="wrap_content"
android:layout_height="30dp" />
<LinearLayout
android:id="@+id/threeimage"
android:gravity="center"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</LinearLayout>
</LinearLayout>
</RelativeLayout+>