private HorizontalScrollView hs; private LinearLayout linearLayout; private ViewPager viewPager; private String [] titles={"张新","张新","张新","张新","张新","张新","张新","张新"}; List<TextView> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); hs=findViewById(R.id.hs); linearLayout = findViewById(R.id.linearlayout); viewPager = findViewById(R.id.viewpager); list = new ArrayList<>(); for (int i=0;i<titles.length;i++){ TextView textView = new TextView(this); textView.setText(titles[i]); textView.setTextSize(20); textView.setId(i+1000); textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { int id=v.getId(); viewPager.setCurrentItem(id-1000); } }); if (i==0){ textView.setTextColor(Color.RED); }else { textView.setTextColor(Color.BLACK); } LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT); layoutParams.setMargins(50,10,50,10); linearLayout.addView(textView,layoutParams); list.add(textView); } viewPager.setAdapter(new Mydapter(getSupportFragmentManager())); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { for (int i=0;i<list.size();i++){ if (position==i){ list.get(i).setTextColor(Color.RED); }else{ list.get(i).setTextColor(Color.BLACK); } } TextView textView =list.get(position); int width =textView.getWidth()+10; hs.scrollTo(width*position,0); } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { } }); } class Mydapter extends FragmentPagerAdapter { public Mydapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return Fargment1.getinstance(list.get(position).getText().toString()); } @Override public int getCount() { return list.size(); } } }
private ArrayList<String> list; private String [] image={ "https://p.ssl.qhimg.com/dmfd/400_300_/t01a3b02caabd1a4048.jpg", "https://ps.ssl.qhimg.com/dmfd/365_365_/t01ba099c8db4ab88bc.jpg", "https://ps.ssl.qhimg.com/dmfd/365_207_/t01a53ec4857f8a4442.jpg", "https://ps.ssl.qhimg.com/dmfd/364_207_/t01758e7b445577c18c.jpg"}; private Banner banner; public static Fragment getinstance(String title){ Fargment1 fargment1 = new Fargment1(); Bundle bundle =new Bundle(); bundle.putString("title",title); fargment1.setArguments(bundle); return fargment1; } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { Bundle arguments = getArguments(); String title = arguments.getString("title"); View view = inflater.inflate(R.layout.fargmrnt1, container, false); banner = view.findViewById(R.id.banner); banner.setImageLoader(new GlideBanner()); if (arguments.get("title").equals("张新")) { list = new ArrayList<>(); for (int i = 0; i < image.length; i++) { list.add(image[i]); } banner.setImages(list); banner.start(); } return view; } }