Hs

package com.example.demo20180624_demo1;

import android.graphics.Color;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    private HorizontalScrollView hs;
    private LinearLayout linearLayout;
    private ViewPager viewPager;
    private String title[] = {"推荐", "视频", "热点", "北京", "娱乐", "图片", "懂车帝", "体育","财经", "国际","健康"};
    private 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.linear);
        viewPager = findViewById(R.id.pager);
        list = new ArrayList<>();
        for (int i = 0; i < title.length; i++){
            TextView textView = new TextView(this);
            textView.setText(title[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(ViewPager.LayoutParams.WRAP_CONTENT, ViewPager.LayoutParams.WRAP_CONTENT);
            layoutParams.setMargins(50,10,50,10);
            linearLayout.addView(textView,layoutParams);
            list.add(textView);
        }
        viewPager.setAdapter(new Myadapter(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 Myadapter extends FragmentPagerAdapter{

        public Myadapter(FragmentManager fm) {
            super(fm);
        }

        @Override
        public Fragment getItem(int position) {
            return Frgment1.getInstance(list.get(position).getText().toString());
        }

        @Override
        public int getCount() {
            return list.size();
        }
    }
}
package com.example.demo20180624_demo1;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.google.gson.Gson;
import com.youth.banner.Banner;

import java.util.ArrayList;
import java.util.List;

public class Frgment1 extends Fragment {
    private Banner banner;
    private String image = "https://www.zhaoapi.cn/ad/getAd";
    private List<String> lists;
    private HttpUtils httpUtils;
    private String images;
    private List<ImageBean.TuijianBean.ListBean> list;
    public static Fragment getInstance(String title){
        Frgment1 frgment1 = new Frgment1();
        Bundle bundle = new Bundle();
        bundle.putString("title",title);
        frgment1.setArguments(bundle);
        return frgment1;
    }

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment1,container,false);
        Bundle arguments = getArguments();
        String title = arguments.getString("title");
        banner = view.findViewById(R.id.banner);
        lists = new ArrayList<>();
        httpUtils = HttpUtils.getInstance();
        httpUtils.getdata(image);
        httpUtils.getHttpLienter(new HttpUtils.HttpLienter() {
            @Override
            public void getjsondata(String json) {
                Gson gson = new Gson();
                ImageBean imageBean = gson.fromJson(json, ImageBean.class);
                list = imageBean.getTuijian().getList();
                for (int i = 0; i < list.size(); i++){
                    images = list.get(i).getImages();
                    lists.add(images);
                }
            }
        });
        if (arguments.get("title").equals("推荐")){
            banner.setImageLoader(new GlideBanner());
            banner.setImages(lists);
            banner.start();
        }
        return view;
    }
}

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <HorizontalScrollView
        android:id="@+id/hs"
        android:layout_width="match_parent"
        android:scrollbars="none"
        android:layout_height="wrap_content">
        <LinearLayout
            android:id="@+id/linear"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"></LinearLayout>
    </HorizontalScrollView>
    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/hs"></android.support.v4.view.ViewPager>

</RelativeLayout>

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="200dp"></com.youth.banner.Banner>
</LinearLayout>



猜你喜欢

转载自blog.csdn.net/chy521xin/article/details/80796525
Hs