简单ScrollView

来源:互联网 发布:怎样淘宝网上买东西 编辑:程序博客网 时间:2024/06/07 13:40

//Fragment中的代码


package fmh.bwie.com.scrollview;

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

/**
 * author:Created by WangZhiQiang on 2017/9/12.
 */

public class Fragment1 extends Fragment {
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        Bundle arguments = getArguments();
        String tt = arguments.getString("tt");
        TextView textView = new TextView(getActivity());
        textView.setText(tt);
        return textView;
    }
    //传值的方法
    public static Fragment getstr(String title){
        Fragment1 fragment1 = new Fragment1();
        Bundle bundle = new Bundle();
        bundle.putString("tt",title);
        fragment1.setArguments(bundle);
        return fragment1;
    }
}


//Activity中

package fmh.bwie.com.scrollview;

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

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    private LinearLayout line1;
    private HorizontalScrollView hs;
    private ViewPager vp;
    String [] title ={"头条","社会","国内","国际","娱乐","体育","军事","科技","财经","时尚"};
    private ArrayList<TextView> list;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        line1 = (LinearLayout)findViewById(R.id.line1);
        hs = (HorizontalScrollView)findViewById(R.id.hs);
        vp = (ViewPager)findViewById(R.id.vp);
        list = new ArrayList<>();
        //循环方法控件
        for (int i = 0; i < title.length; i++) {
            TextView textView = new TextView(this);
            textView.setText(title[i]);//将数组中的数据放到TextView中
            textView.setTextSize(20);//设置字体大小
            if (i==0){
                textView.setTextColor(Color.RED);
            }else{
                textView.setTextColor(Color.BLACK);
            }
            //设置点击事件
            textView.setOnClickListener(this);
            textView.setId(i+10000);//设置id
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            layoutParams.setMargins(20,10,20,10);
            line1.addView(textView,layoutParams);
            list.add(textView);
        }
        vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
            @Override
            public Fragment getItem(int position) {
                return Fragment1.getstr(list.get(position).getText().toString());
            }

            @Override
            public int getCount() {
                return title.length;
            }
        });
        vp.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 <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();
                hs.scrollTo((width+20)*position,0);
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

    @Override
    public void onClick(View view) {
        int id = view.getId();
        vp.setCurrentItem(id-10000);
    }
}



原创粉丝点击