仿快看漫画页面

来源:互联网 发布: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类根据自己请求的数据转换

原创粉丝点击