HorizontalScrollView横向滑动

//废话不多说直接上代码,想必有点基础的应该一看就懂吧=.=

//首先就是MainActivity的布局

<?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"
    android:orientation="vertical"
    tools:context="com.bwie.yk.MainActivity">
<LinearLayout
    android:id="@+id/lin"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
   <HorizontalScrollView
       android:id="@+id/hsv"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content">
       <LinearLayout
           android:id="@+id/ll_head"
           android:orientation="horizontal"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content">
       </LinearLayout>
   </HorizontalScrollView>
</LinearLayout>
    <android.support.v4.view.ViewPager
        android:layout_below="@id/lin"
        android:id="@+id/viewpage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
    </android.support.v4.view.ViewPager>
</RelativeLayout>
//接着就是MainActivity了

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private LinearLayout ll_head;
    private HorizontalScrollView hsv;
    private String[] titles;
    private List<TextView> texts;
    private ViewPager pager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        titles=new String[]{"频道1","频道2","频道3","频道4","频道5","频道6","频道7","频道8","频道9","频道10"};
        getID();
        texts=new ArrayList<>();
        for (int i=0;i<titles.length;i++){
            TextView textView=new TextView(this);
            texts.add(textView);
            //给控件设置文字
            textView.setText(titles[i]);
            //给空间设置字体大小
            textView.setTextSize(20);
            textView.setTextColor(Color.BLACK);
            if(i==0){
                textView.setTextColor(Color.RED);
            }
            textView.setId(i);
            //初始化一个配置参数
            LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);
           //给参数设置margin值
            layoutParams.setMargins(20,10,20,10);
            textView.setOnClickListener(this);

            //把参数摆放的参数设置近期
            ll_head.addView(textView,layoutParams);
        }

        pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int position) {
                return MFragment.newInstance(titles[position]);
            }

            @Override
            public int getCount() {
                return titles.length;
            }
        });

        //viewpage 的监听事件
        pager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

                for(int i=0;i<texts.size();i++){
                    if(i==position){
                        texts.get(position).setTextColor(Color.RED);
                    }else{
                        texts.get(i).setTextColor(Color.BLACK);
                    }
                }

            }

            @Override
            public void onPageScrollStateChanged(int state) {  }
        });

    }
   //获取控件id
    public void getID() {
        ll_head =(LinearLayout)findViewById(R.id.ll_head);
        hsv =(HorizontalScrollView)findViewById(R.id.hsv);
        pager = (ViewPager)findViewById(R.id.viewpage);
    }

    //textview点击监听,切换到对应的fragment
    @Override
    public void onClick(View v) {
        int id=v.getId();
        pager.setCurrentItem(id);
    }
}

//下面就是fragment的布局,在这里fragment里没放控件,各位也可以在其中添加一些其它功能

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FF0"
    >

</RelativeLayout>

//下面是fragment

public class MFragment extends Fragment {


    private View view;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        if(view==null){
            view = View.inflate(getActivity(), R.layout.mfragment,null);
        }
        ViewGroup group= (ViewGroup) view.getParent();
        if(group!=null){
            group.removeView(view);
        }
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

    }

    public static Fragment newInstance(String title){
        MFragment fragment=new MFragment();
        Bundle bundle=new Bundle();
        bundle.putString("title",title);
        fragment.setArguments(bundle);
        return fragment;
    }

}
//这是代码效果图希望可以帮助到各位

HorizontalScrollView横向滑动