一、布局
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/hsv">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal"
android:id="@+id/linear">
</LinearLayout>
</HorizontalScrollView>
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pager"></android.support.v4.view.ViewPager>
二、代码
//初始化数据
inithsv();
private void inithsv() {
list = new ArrayList<>();
text = new ArrayList<>();
list.add("关注");
list.add("推荐");
list.add("十九大");
list.add("新闻");
list.add("娱乐");
list.add("社会");
list.add("体育");
list.add("热点");
list.add("科技");
list.add("视频");
list.add("北京");
list.add("天津");
list.add("南京");
text.add("social");
text.add("guonei");
text.add("world");
text.add("huabian");
text.add("tiyu");
text.add("nba");
text.add("football");
text.add("keji");
text.add("startup");
text.add("apple");
text.add("military");
}
//初始化横向滑动菜单
inittext();
private List<TextView> texts;
private void inittext() {
//将textview组件添加到LinearLayout组件中
texts = new ArrayList<>();
for (int i=0;i<list.size();i++){
TextView textView = new TextView(getActivity());
textView.setText(list.get(i));
if (i==0){
textView.setTextColor(Color.RED);
}else{
textView.setTextColor(Color.BLACK);
}
textView.setTag(i);
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//viewpager切换到不同页面
pager.setCurrentItem(Integer.parseInt(view.getTag()+""));
//设置选中颜色
setselecttexts(Integer.parseInt(view.getTag()+""));
}
});
//设置
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT);
params.setMargins(0,5,8,0);
linear.addView(textView,params);
//把textview添加到集合中
texts.add(textView);
}
}
//设置选中文字颜色
public void setselecttexts(int textindex){
for (int i=0;i<texts.size();i++){
if (i==textindex){
texts.get(i).setTextColor(Color.RED);
}else{
texts.get(i).setTextColor(Color.BLACK);
}
}
}
pager.setAdapter(new FragmentPagerAdapter(getChildFragmentManager()) {
@Override
public Fragment getItem(int position) {
Fr01 fr01 = new Fr01();
Bundle bundle = new Bundle();
bundle.putString("ss",text.get(position));
fr01.setArguments(bundle);
return fr01;
}
@Override
public int getCount() {
return list.size();
}
});
pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
setselecttexts(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});