tablayout主布局

来源:互联网 发布:全球大数据峰会 编辑:程序博客网 时间:2024/06/06 07:31

Img布局

public class Imgtion  extends Application{    @Override    public void onCreate() {        DisplayImageOptions options =  new DisplayImageOptions.Builder()        .showImageOnLoading(R.drawable.a)                .showImageOnFail(R.drawable.b)                .showImageForEmptyUri(R.drawable.s)                .displayer(new FadeInBitmapDisplayer(2000))                .cacheOnDisk(true)                .cacheInMemory(true)                .build();        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)                .defaultDisplayImageOptions(options)                .threadPoolSize(5).build();        ImageLoader.getInstance().init(configuration);        super.onCreate();    }}
NewsFragment页面

public class NewsFragment  extends Fragment{    private int count=10;    PullToRefreshLayout pull;    private ListView lv;    private String jsonString="";    private Massd massd;    private List<Newslist> datas = new ArrayList<Newslist>(); //handle机制    private Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            Massd massd = new Massd();            lv.setAdapter(massd);        }    };  private  String string;    @Nullable    @Override    //页面加载视图    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {      View view= inflater.inflate(R.layout.news_layout,container,false);     pull  = (PullToRefreshLayout) view.findViewById(R.id.pull);        lv  = (ListView) view.findViewById(R.id.list_view);        pull.setRefreshListener(new BaseRefreshListener() {            @Override            public void refresh() {                new Handler().postDelayed(new Runnable() {                    @Override                    public void run() {                        count++;                        String path = "http://api.tianapi.com/" + string + "/?key=4146a52d31ee75bedb005c5b50d9c249&num="+count;                        getDataFromNet(string);                        pull.finishRefresh();                    }                },2000);            }        //上拉            @Override            public void loadMore() {                new Handler().postDelayed(new Runnable() {                    @Override                    public void run() {                        count++;                        String path = "http://api.tianapi.com/" + string + "/?key=4146a52d31ee75bedb005c5b50d9c249&num="+count;                        getDataFromNet(string);                        pull.finishLoadMore();                    }                },2000);            }        });        return view;    } //网络请求    private void getDataFromNet(final String string) {        new Thread(){            @Override            public void run() {                String path = "http://api.tianapi.com/"+string+"/?key=4146a52d31ee75bedb005c5b50d9c249&num="+(count++);                try {                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setReadTimeout(5000);                    connection.setConnectTimeout(5000);                    int responseCode = connection.getResponseCode();                    if(responseCode==200){                        InputStream inputStream = connection.getInputStream();                        String json=getwangl(inputStream,"utf-8");                        Gson gson = new Gson();                        JsonRootBean jsonss = gson.fromJson(json, JsonRootBean.class);                        datas=jsonss.getNewslist();                        Message message = new Message();                        Bundle bundle = new Bundle();                        bundle.putString("s",datas.toString());                        message.setData(bundle);                        handler.sendMessage(message);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        }.start();    }    //进行转码关闭流    private String getwangl(InputStream inputStream, String s) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s);            BufferedReader reader = new BufferedReader(inputStreamReader);            StringBuilder builder = new StringBuilder();            String cou;            while ((cou=reader.readLine())!=null){                builder.append(cou);            }            inputStream.close();            reader.close();            jsonString=builder.toString();            return  builder.toString();        } catch (Exception e) {            e.printStackTrace();        }        return null;    }//创建主视图    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        Bundle bundle = getArguments();        string = bundle.getString("name", "top");        getDataFromNet(string);    }//适配器    class Massd extends BaseAdapter{        final int tz=0;        final int tx=1;        @Override        public int getCount() {            return datas.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        //listview多条目加载        public View getView(int i, View view, ViewGroup viewGroup) {            Asd asd = null;            Asdd asdd = null;            int type = getItemViewType(i);            if (view==null){                switch (type){                    case tz:                        asd = new Asd();                        view = View.inflate(getActivity(), R.layout.item, null);                        asd.img = (ImageView) view.findViewById(R.id.img);                        asd.tv1 = (TextView) view.findViewById(R.id.tv1);                        asd.tv2 = (TextView) view.findViewById(R.id.tv2);                        view.setTag(asd);                        break;                    case tx:                        asdd = new Asdd();                        view = View.inflate(getActivity(), R.layout.item2, null);                        asdd.img1 = (ImageView) view.findViewById(R.id.img1);                        asdd.img2 = (ImageView) view.findViewById(R.id.img2);                        asdd.img3 = (ImageView) view.findViewById(R.id.img3);                        view.setTag(asdd);                        break;                }            }switch (type){                case tz:                    asd = (Asd) view.getTag();                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asd.img);                    asd.tv1.setText(datas.get(i).getTitle());                    asd.tv2.setText(datas.get(i).getCtime());                    break;                case tx:                    asdd = (Asdd) view.getTag();                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asdd.img1);                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asdd.img2);                    ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(), asdd.img3);                    break;                default:                    break;            }            return view;        }    }    //优化    class Asdd{        public ImageView img1;        public ImageView img2;        public ImageView img3;    }    class  Asd{        public ImageView img;        public TextView tv1;        public TextView tv2;    }}
QiYuF页面

public class QiyuF extends Fragment implements AdapterView.OnItemClickListener{    TabLayout tl;    ViewPager vp;  private     List<String> list;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.qiyuf, null);        tl = (TabLayout) view.findViewById(R.id.tl);        vp = (ViewPager) view.findViewById(R.id.vp);        list = new ArrayList<>();        list.add("苹果");        list.add("军事");        list.add("移动");        list.add("旅游");        list.add("创业");        list.add("科技");        list.add("足球");        list.add("NBA");        list.add("娱乐");        vp.setAdapter(new FragmentPagerAdapter(getActivity().getSupportFragmentManager()) {            @Override            public CharSequence getPageTitle(int position) {                return list.get(position);            }            @Override            // apple military mobile travel startup keji football nba huabian            public Fragment getItem(int position) {                NewsFragment newsFragment = new NewsFragment();                Bundle bundle = new Bundle();                if (list.get(position).equals("苹果")){                    bundle.putString("name","apple");                }else if (list.get(position).equals("军事")){                    bundle.putString("name","military");                }else if (list.get(position).equals("移动")){                    bundle.putString("name","mobile");                }else if (list.get(position).equals("旅游")){                    bundle.putString("name","travel");                }else if (list.get(position).equals("创业")){                    bundle.putString("name","startup");                }else if (list.get(position).equals("科技")){                    bundle.putString("name","keji");                }else if (list.get(position).equals("足球")){                    bundle.putString("name","football");                }else if (list.get(position).equals("NBA")){                    bundle.putString("name","nba");                }else if (list.get(position).equals("娱乐")){                    bundle.putString("name","huabian");                }                newsFragment.setArguments(bundle);                return newsFragment;            }            @Override            public int getCount() {                return list.size();            }        });        tl.setupWithViewPager(vp);        return view;    }    @Override    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {    }}
ShouyeF页面

public class ShouyeF extends Fragment implements AdapterView.OnItemClickListener {    //定义全局变量    PullToRefreshLayout prl;    ConvenientBanner cb;    private int count=10;    private List<String> as;    private List<Newslist> datas = new ArrayList<Newslist>();    private Handler handler = new Handler(){//handle机制        @Override        public void handleMessage(Message msg) {            Maasd maasd = new Maasd();            gv.setAdapter(maasd);            Mmasd mmasd = new Mmasd();            lv.setAdapter(mmasd);        }    };  //添加轮播的图片    ImageLoader imageLoader;    Arrays arrays;     //定义数组     String[] imgs = new String[]{             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/04/m.xxxiao.com_952ef7f7e44e4bdaf7718d20c99d66ff4-760x500.jpg",             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/07/m.xxxiao.com_d425b67b2744d9f62be091b2bb3c9d93-760x500.jpg",             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/04/m.xxxiao.com_6bb61e3b7bce0931da574d19d1d82c886-760x500.jpg",             "http://m.xxxiao.com/wp-content/uploads/sites/3/2015/06/m.xxxiao.com_b4524af8c20484f4638795ea1515db29-760x500.jpg",     };    //定义表格布局    private ListView lv;    private GridView gv;    private String jsonString = "";    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.shouyef, null);        cb = (ConvenientBanner) view.findViewById(R.id.cb);        prl =(PullToRefreshLayout) view.findViewById(R.id.prl);        gv = (GridView) view.findViewById(R.id.gv);        lv = (ListView) view.findViewById(R.id.lv);        prl.setRefreshListener(new BaseRefreshListener() {            @Override            public void refresh() {                new Handler().postDelayed(new Runnable() {                    @Override                    public void run() {                        getdatawang();                        prl.finishRefresh();                    }                },2000);            }            @Override            public void loadMore() {                new Handler().postDelayed(new Runnable() {                    @Override                    public void run() {                        String path = "http://api.tianapi.com/it/?key=4146a52d31ee75bedb005c5b50d9c249&num=10";                        getdatawang();                        prl.finishLoadMore();                    }                },2000);            }        });        getdatawang();        imageLoader = ImageLoader.getInstance();        imageLoader.init(ImageLoaderConfiguration.createDefault(getActivity()));        as = Arrays.asList(imgs);        cb.setPages(new CBViewHolderCreator() {            @Override            public Object createHolder() {                return new Masd();            }        },as).setPointViewVisible(true)                .startTurning(2000)                .setPageIndicator(new int[]{R.drawable.ic_page_indicator,R.drawable.ic_page_indicator_focused})                .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.CENTER_HORIZONTAL)                .setManualPageable(true);        return view;    }    //得到初始化的值    private void getdatawang() {        new Thread(){            @Override            public void run() {                //4146a52d31ee75bedb005c5b50d9c249                String path = "http://api.tianapi.com/it/?key=4146a52d31ee75bedb005c5b50d9c249&num="+(count++);                try {                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setReadTimeout(5000);                    connection.setConnectTimeout(5000);                    int responseCode = connection.getResponseCode();                    if(responseCode==200){                        InputStream inputStream = connection.getInputStream();                        getjsonwang(inputStream,"utf-8");                        Gson gson = new Gson();                        JsonRootBean jsonss = gson.fromJson(jsonString, JsonRootBean.class);                        datas=jsonss.getNewslist();                        Message message = new Message();                        Bundle bundle = new Bundle();                        bundle.putString("s",datas.toString());                        message.setData(bundle);                        handler.sendMessage(message);                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        }.start();    }   //关闭数据流    private void getjsonwang(InputStream inputStream, String s) {        try {            InputStreamReader inputStreamReader = new InputStreamReader(inputStream, s);            BufferedReader reader = new BufferedReader(inputStreamReader);            StringBuffer buffer = new StringBuffer();            StringBuilder builder = new StringBuilder();            String cou;            while ((cou=reader.readLine())!=null){                builder.append(cou);            }            inputStream.close();            reader.close();            jsonString =builder.toString();        } catch (Exception e) {            e.printStackTrace();        }    }    @Override    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {    }    //litem的优化    class Mmasd extends BaseAdapter {        @Override        public int getCount() {            return datas.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            View vvv = View.inflate(getActivity(), R.layout.litem, null);            ImageView img = (ImageView) vvv.findViewById(R.id.img);            TextView tv = (TextView) vvv.findViewById(R.id.tv1);            ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(),img);            tv.setText(datas.get(i).getTitle());            return vvv;        }    }    //gitem的优化    class Maasd extends BaseAdapter{        @Override        public int getCount() {            return datas.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            View vv = View.inflate(getActivity(), R.layout.gitem, null);            ImageView img = (ImageView) vv.findViewById(R.id.img);            TextView tv = (TextView) vv.findViewById(R.id.tv1);            ImageLoader.getInstance().displayImage(datas.get(i).getPicUrl(),img);            tv.setText(datas.get(i).getTitle());            return vv;        }    }    //holder机制的优化    class Masd implements Holder<String> {        private ImageView imageView;        @Override        public View createView(Context context) {            imageView = new ImageView(context);            imageView.setScaleType(ImageView.ScaleType.FIT_XY);            return imageView;        }        @Override        public void UpdateUI(Context context, int position, String data) {            ImageLoader.getInstance().displayImage(data,imageView);        }    }}
Main页面

public class MainActivity extends AppCompatActivity {    DrawerLayout dl;    private FrameLayout fl;    private TextView sy;    private TextView qy;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        fl = (FrameLayout) findViewById(R.id.fl);        sy = (TextView) findViewById(R.id.sy);        qy = (TextView) findViewById(R.id.qy);        FragmentManager manager = getSupportFragmentManager();        FragmentTransaction transaction = manager.beginTransaction();        transaction.replace(R.id.fl,new QiyuF());        transaction.commit();        sy.setTextColor(Color.RED);        qy.setTextColor(Color.BLACK);        sy.setOnClickListener(new View.OnClickListener(){            @Override            public void onClick(View view) {                FragmentManager manager = getSupportFragmentManager();                FragmentTransaction transaction = manager.beginTransaction();                transaction.replace(R.id.fl,new QiyuF());                transaction.commit();                sy.setTextColor(Color.RED);                qy.setTextColor(Color.BLACK);            }        });        qy.setOnClickListener(new View.OnClickListener(){            @Override            public void onClick(View view) {                FragmentManager manager = getSupportFragmentManager();                FragmentTransaction transaction = manager.beginTransaction();                transaction.replace(R.id.fl,new ShouyeF());                transaction.commit();                sy.setTextColor(Color.BLACK);                qy.setTextColor(Color.RED);            }        });    }}

原创粉丝点击