public class ShoutFragmtnes extends Fragment {
private View view;
private HorizontalScrollView hs;
private LinearLayout linearlayout;
private ArrayList<TextView> list;
private String[] titles;
private ViewPager pager1;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.shouye_layt,container,false);
//初始化控件
pager1 = view.findViewById(R.id.pager1);
hs = view.findViewById(R.id.hs);
linearlayout = view.findViewById(R.id.linearlayout);
titles = new String[]{"头条","娱乐", "科技","国际","干货"};
list = new ArrayList<TextView>();
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//设置pager的滑动监听
pager1.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
//滑动
@Override
public void onPageScrolled(int position, float v, int i1) {
for (int j = 0; j <list.size() ; j++) {
if (position==j){
list.get(j).setTextColor(getResources().getColor(R.color.colorAccent));
}else {
list.get(j).setTextColor(getResources().getColor(R.color.colorPrimary));
}
}
//获取当前的textView
TextView textView = list.get(position);
//获取宽度
int width = textView.getWidth()+10;
//让scrollView滑动
hs.scrollTo(width*position,0);
}
@Override
public void onPageSelected(int i) {
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
for (int i = 0; i < titles.length; i++) {
//创建TextView
TextView textView = new TextView(getActivity());
textView.setText(titles[i]);
//设置字体大小
textView.setTextSize(20);
textView.setTextColor(Color.rgb(000,000,000));
//设置id
textView.setId(i+20);
//设置点击事件
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转ViewPager界面
int id = v.getId();
pager1.setCurrentItem(id-20);
}
});
//刚进程序第一个默认红色,其他为黑色
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(40,40,20,40);
linearlayout.setBackground(getActivity().getDrawable(R.color.color_w));
//添加布局
linearlayout.addView(textView,layoutParams);
//将textView添加到集合
list.add(textView);
}
pager1.setAdapter(new MyAdapter(getActivity().getSupportFragmentManager(),titles));
}
}
横向滑动视图包装
猜你喜欢
转载自blog.csdn.net/weixin_44160470/article/details/85156152
今日推荐
周排行