仿快看漫画页面
来源:互联网 发布:php条件判断语句 编辑:程序博客网 时间:2024/05/22 07:34
需要的权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <application ... android:name=".MyApplication" .../>
build
compile 'org.xutils:xutils:3.5.0' compile 'com.google.code.gson:gson:2.8.0' compile 'com.android.support:recyclerview-v7:25.3.1' compile project(':Xlistview')
activity_main.xml
<HorizontalScrollView android:layout_width="match_parent" android:layout_height="50dp" android:scrollbars="none"> <android.support.design.widget.TabLayout android:id="@+id/tableLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center"> </android.support.design.widget.TabLayout> </HorizontalScrollView><android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent"</android.support.v4.view.ViewPager>
fragment.xml
<com.limxing.xlistview.view.XListView android:id="@+id/xListView" android:layout_width="match_parent" android:layout_height="match_parent"> </com.limxing.xlistview.view.XListView>
message.xml
<LinearLayout android:layout_margin="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/title" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="123123123" android:textSize="20dp" /> <TextView android:id="@+id/pd" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="right" android:text="全集 >" /> </LinearLayout> <ImageView android:id="@+id/imageView" android:layout_width="match_parent" android:layout_height="wrap_content" android:src="@mipmap/ic_launcher"/>
MainActivity
public class MainActivity extends AppCompatActivity { private TabLayout tableLayout; private ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); //判断网络是否连接 initMesh(); } private void initView() { //找到控件 tableLayout = (TabLayout) findViewById(R.id.tableLayout); viewPager = (ViewPager) findViewById(R.id.viewPager); } private void initMesh() { boolean anInt = isInt(MainActivity.this); if (anInt == true) { //TabLayout initTab(); } else { Toast.makeText(MainActivity.this, "网络未连接", Toast.LENGTH_SHORT).show(); //隐式跳转到设置网络界面 startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); } } private void initTab() { TabAdapter tabAdapter = new TabAdapter(getSupportFragmentManager()); viewPager.setAdapter(tabAdapter); tableLayout.setupWithViewPager(viewPager, false); List<String> list = new ArrayList<>(); List<Fragment> fragmentList = new ArrayList<>(); list.add("周一"); list.add("周二"); list.add("周三"); list.add("周四"); list.add("周五"); list.add("周六"); list.add("周日"); list.add("昨天"); list.add("今天"); for (int i = 0; i < list.size(); i++) { tableLayout.addTab(tableLayout.newTab().setText(list.get(i))); fragmentList.add(new Fargment()); } tabAdapter.setList(fragmentList); tabAdapter.notifyDataSetChanged(); } //判断网络是否连接 public boolean isInt(Context context) { if (context != null) { ConnectivityManager manager = (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE); NetworkInfo info = manager.getActiveNetworkInfo(); if (info != null) { return info.isAvailable(); } } return false; }}
TabAdapter
public class TabAdapter extends FragmentPagerAdapter { private List<Fragment> list = new ArrayList<Fragment>(); public void setList(List<Fragment> list) { this.list=list; } public TabAdapter(FragmentManager fm) { super(fm); } @Override public Fragment getItem(int position) { return list.get(position); } @Override public int getCount() { return list.size(); }}
MyApplication
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(BuildConfig.DEBUG); }}
XListViewAdapter
public class XListViewAdapter extends BaseAdapter { private Context mContext; private List<Bean.DataBean.ComicsBean> list; public XListViewAdapter(Context context, List<Bean.DataBean.ComicsBean> comics) { this.mContext = context; this.list = comics; } public void setList(List<Bean.DataBean.ComicsBean> comics, boolean isRefresh) { for (Bean.DataBean.ComicsBean data : comics) { if (isRefresh = true) { list.add(0, data); } else { list.add(data); } } } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return list.size(); } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if (convertView == null) { viewHolder = new ViewHolder(); convertView = View.inflate(mContext, R.layout.message, null); viewHolder.title = (TextView) convertView.findViewById(R.id.title); viewHolder.pd = (TextView) convertView.findViewById(R.id.pd); viewHolder.imageView = (ImageView) convertView.findViewById(R.id.imageView); convertView.setTag(viewHolder); } else { viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.title.setText(list.get(position).getTitle()); x.image().bind(viewHolder.imageView, list.get(position).getCover_image_url()); viewHolder.pd.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mContext,ChannelActivity.class); mContext.startActivity(intent); } }); return convertView; } //定义V static class ViewHolder { TextView title; TextView pd; ImageView imageView; }}
Fargment
public class Fargment extends Fragment implements XListView.IXListViewListener{ private XListView xListView; private XListViewAdapter xListViewAdapter; private boolean isRefreash = true; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment, container, false); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); //网络请求数据 initHttp(); //找到控件 xListView = (XListView) getView().findViewById(R.id.xListView); //设置是否可以上拉加载更多 xListView.setPullLoadEnable(true); //设置是否可以下拉刷新 //xLv.setPullRefreshEnable(true); xListView.setRefreshTime("10:53:13"); xListView.setXListViewListener(this); } //网络请求数据 private void initHttp() { RequestParams params = new RequestParams("这里填地址"); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Log.e("MainActivity", result); Gson gson = new Gson(); Bean bean = gson.fromJson(result, Bean.class); List<Bean.DataBean.ComicsBean> comics = bean.getData().getComics(); if (xListViewAdapter ==null){ xListViewAdapter = new XListViewAdapter(getActivity(), comics); }else{ xListViewAdapter.setList(comics,isRefreash); xListViewAdapter.notifyDataSetChanged(); } xListView.setAdapter(xListViewAdapter); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); } @Override public void onRefresh() { initHttp(); isRefreash=true; xListView.stopRefresh(true); } @Override public void onLoadMore() { initHttp(); isRefreash=false; xListView.startRefresh(); }}
Bean类根据自己请求的数据转换
阅读全文
0 0
- 仿快看漫画页面
- 漫画
- 漫画
- Python+BeautifulSoup抓取暴走漫画页面图片
- 明星漫画
- Dilbert漫画
- 上班族漫画
- 修改漫画
- 漫画穆里尼奥
- 漫画人生
- 程序员漫画
- 漫画人生
- 漫画:跳楼
- 谢友苏漫画
- 关于漫画
- 漫画HDFS
- 漫画线性代数
- 漫画一组
- Set Tab Off
- tm32f10x_conf.h
- 创建maven工程常见的错误
- 欢迎使用Markdown编辑器写博客
- html学习
- 仿快看漫画页面
- Android程序猿带你学python第3章--函数和方法
- 【证】:那些可作为GC Roots的对象
- IDEA编辑JSP模板
- 有序广播
- 设计模式(4)-Factory工厂模式
- kiwenlau/hadoop-cluster-docker
- 计算机网络---TCP
- 欢迎使用CSDN-markdown编辑器