布局
<LinearLayout ns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"match_parent\"
android:layout_height=\"match_parent\"
android:background=\"#fffff0\"
android:orientation=\"vertical\">
<RelativeLayout
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\">
<RelativeLayout
android:id=\"@+id/hsview\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\" />
<HorizontalScrollView
android:id=\"@+id/fhsv\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\"
android:background=\"@color/app_color\">
<LinearLayout
android:id=\"@+id/linearlayout\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\"
android:layout_gravity=\"center\"
android:orientation=\"horizontal\" />
</HorizontalScrollView>
<RelativeLayout
android:id=\"@+id/vp\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\">
<android.support.v4.view.ViewPager
android:id=\"@+id/fViewPager\"
android:layout_width=\"match_parent\"
android:layout_height=\"wrap_content\"
android:layout_marginTop=\"83dp\"
android:background=\"@color/colorAccent\" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
代码
private ViewPager fViewPager;
private String[] s;
private ArrayList<TextView> list;
private LinearLayout linearlayout;
private HorizontalScrollView fhsv;
private DrawerLayout hDrawerLayout;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_01, container, false);
//获取控件
fViewPager = view.findViewById(R.id.fViewPager);
linearlayout = (LinearLayout) view.findViewById(R.id.linearlayout);
fhsv = view.findViewById(R.id.fhsv);
//创建数组,存放标题
s = new String[]{\"头条\", \"娱乐\", \"科技\"};
fViewPager.setAdapter(new ViewPageAdapter(getActivity().getSupportFragmentManager(), s));
//创建集合,存放textview
list = new ArrayList<TextView>();
for (int i = 0; i < s.length; i++) {
//创建textview
TextView textView = new TextView(getActivity());
textView.setText( s[i]);
textView.setTextSize(20);
textView.setTextColor(Color.rgb(250, 250, 250));
textView.setId(i + 20);
//点击事件
textView.set Listener(new View. Listener() {
@Override
public void (View view) {
int id = view.getId();
fViewPager.setCurrentItem(id - 20);
}
});
//刚进程序第一个默认红色,其他为黑色
if (i == 0) {
textView.setTextColor(Color.WHITE);
} else {
textView.setTextColor(Color.WHITE);
}
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(20, 40, 20, 40);
//添加到布局中
linearlayout.addView(textView, layoutParams);
//添加到集合
list.add(textView);
}
fViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float v, int i1) {
//list中存的是 textview
for (int i = 0; i < list.size(); i++) {
if (position == i) {
list.get(i).setTextColor(getResources().getColor(R.color.app_r));
} else {
list.get(i).setTextColor(getResources().getColor(R.color.app_w));
}
}
//获取当前的textview
TextView textView = list.get(position);
//width是每次滑动的距离
int width = textView.getWidth() + 10;
//让scrollView滑动 滑动距离是textview之间的间距
fhsv.scrollTo(width * position, 0);
}
@Override
public void onPageSelected(int i) {
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
return view;
}
}
代码中需要的那几个类
public class ViewPageAdapter extends FragmentPagerAdapter {
String[] s;
public ViewPageAdapter(FragmentManager fm, String[] s) {
super(fm);
this. s = s;
}
//当前fragment
@Override
public Fragment getItem(int i) {
return MainFragment.getinstance( s[i]);
}
//fragment 数量
@Override
public int getCount() {
return s.length;
}
}
代码中的MainFragment
public class MainFragment extends Fragment implements XListView.IXListViewListener {
int page = 1;
private XListView listView;
private String uri = \"tt\";
private MyListAdapter myListAdapter;
public static Fragment getinstance(String ) {
//创建Fragment1
MainFragment fragment1 = new MainFragment();
//创建bundle
Bundle bundle = new Bundle();
//添加值
bundle.putString(\" \", );
//把值添加到Arguments中
fragment1.setArguments(bundle);
return fragment1;
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
//获取Arguments
Bundle arguments = getArguments();
//获取值
String = arguments.getString(\" \");
//创建ListView
listView = new XListView(getActivity());
//设置值
if ( .equals(\"头条\")) {
uri = \"tt\";
new MyAsync().execute();
} else if ( .equals(\"娱乐\")) {
uri = \"shehui\";
new MyAsync().execute();
} else if ( .equals(\"科技\")) {
uri = \"gn\";
new MyAsync().execute();
}
return listView;
}
//加载更多跟刷新
@Override
public void onRefresh() {
page = 1;
new Runnable() {
@Override
public void run() {
new MyAsync().execute();
myListAdapter.notifyDataSetChanged();
}
}.run();
onlod();
}
//加载更多
@Override
public void More() {
page++;
new Runnable() {
@Override
public void run() {
new MyAsync().execute();
myListAdapter.notifyDataSetChanged();
}
}.run();
onlod();
}
//这个是必须的ListView刷新
private void onlod() {
listView.stopRefresh();
listView.stopLoadMore();
//上次刷新的时间
SimpleDateFormat simpleDateFormat = new SimpleDateFormat(\"yyyy年MM月dd日 HH:mm:ss\");
Date date = new Date(System.currentTimeMillis());
listView.setRefreshTime(simpleDateFormat.format(date));
}
class MyAsync extends AsyncTask<Integer, Integer, String> {
String url = \"http://result.eo er.com/k2BaduF2a6caa275f395919a66ab1dfe4b584cc60685573?uri=\" + uri + \"\";
@Override
protected void onPreExecute() {
super.onPreExecute();
listView.setPullLoadEnable(true);
listView.setPullRefreshEnable(true);
listView.setXListViewListener(MainFragment.this);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
MylistBean mylistBean = gson.fromJson(s, MylistBean.class);
List<MylistBean.ResultBean.DataBean> data = mylistBean.getResult().getData();
myListAdapter = new MyListAdapter(getActivity(), data);
listView.setAdapter(myListAdapter);
}
}
@Override
protected String doInBackground(Integer... integers) {
return HttpUtils.getHttpCon(getActivity(), url, \"GET\");
}
}
} 继续阅读与本文标签相同的文章
下一篇 :
LED灯杆屏是否行走在智慧应用的尖端?
-
小学生发现丰巢快递柜刷脸取件bug 用照片就能打开
2026-05-18栏目: 教程
-
WIPO:中国专利申请量占世界一半 去年申请专利数量达154万件
2026-05-18栏目: 教程
-
Yotta主网上线在即,带你玩转YTA挖矿攻略!
2026-05-18栏目: 教程
-
将制造业作为发展数字经济的主战场!
2026-05-18栏目: 教程
-
如何成为一名优秀的初级开发者?
2026-05-18栏目: 教程
