轮播图+原点图标

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.handmark.pulltorefresh.library.PullToRefreshScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/psv">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">
            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
                <android.support.v4.view.ViewPager
                    android:layout_width="match_parent"
                    android:layout_height="200dp"
                    android:id="@+id/my_viewpager">

                </android.support.v4.view.ViewPager>
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:id="@+id/my_point"
                    android:gravity="center"

                    android:layout_gravity="bottom"></LinearLayout>
            </FrameLayout>
            <wangguifa.bwie.com.all.MyListview
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/my_listview"
                >

            </wangguifa.bwie.com.all.MyListview>
        </LinearLayout>
    </com.handmark.pulltorefresh.library.PullToRefreshScrollView>

</LinearLayout>

//fragment

public class MessageFragment extends Fragment {

    private ListView listview;
    private ViewPager viewpager;
    private LinearLayout point;
    private List<Humen.DataBean> list = new ArrayList<>();
    private List<String> lists = new ArrayList<>();
    private PullToRefreshScrollView psv;
    private int typeInt = 0;
    private int pageInt = 1;
    private int vpint = 50;
    private ListAdapter adapter;
    private List<ImageView> img_lists = new ArrayList<>();
    private String netString = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+pageInt;
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(msg.what==1){
                vpint++;
                viewpager.setCurrentItem(vpint);
                selectPoint(vpint);
                handler.sendEmptyMessageDelayed(1,1000);
            }
        }
    };
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.message_layout, container, false);
        listview = v.findViewById(R.id.my_listview);
        viewpager = v.findViewById(R.id.my_viewpager);
        point = v.findViewById(R.id.my_point);
        psv = v.findViewById(R.id.psv);
        return v;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        initViewPager();
        initPoint();
        initPsv();
        requestData();
    }

    private void selectPoint(int s){
        for (int i = 0; i < img_lists.size(); i++) {
            if (i==s%img_lists.size()){
                img_lists.get(i).setImageResource(R.drawable.selected_point);
            }else {
                img_lists.get(i).setImageResource(R.drawable.unselected_point);
            }
        }
    }
    private void initPoint() {
        for (int i = 0; i <lists.size() ; i++) {
            ImageView imageView = new ImageView(getActivity());
            LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
            params.setMargins(0,0,5,0);
            imageView.setLayoutParams(params);
            if(i==0){
                imageView.setImageResource(R.drawable.selected_point);
            }else {
                imageView.setImageResource(R.drawable.unselected_point);
            }
            point.addView(imageView);
            img_lists.add(imageView);
        }
    }

    private void initViewPager() {
        /*lists.add("http://m.xxxiao.com//wp-content//uploads//sites//3//2016//07//m.xxxiao.com_56a78d0a3cfd0e39b31fd11ac709ad4f-683x1024.jpg");
        lists.add("http://image.hnol.net//c//2016-10//31//15//20161031151544351-5349024.jpg");
        lists.add("http://image.hnol.net//c//2016-07//02//21//201607022155295131-2381913.jpg");
        lists.add("http://image.hnol.net//c//2016-07//03//16//201607031631335861-1559530.jpg");
        //http:\/\/m.xxxiao.com\/wp-content\/uploads\/sites\/3\/2016\/07\/m.xxxiao.com_05e810073b50fb8a8d17a8ed483e8490-683x1024.jpg
        lists.add("http://m.xxxiao.com//wp-content//uploads//sites//3//2015//12//m.xxxiao.com_558c0bb213ae3cfb4e5d783636f03388-760x500.jpg");*/
        lists.add("http://f.expoon.com//sub//news//2016//01//20//348021_230x162_0.jpg");
        lists.add("http://f.expoon.com//sub//news//2016//01//19//113912_230x162_0.jpg");
        lists.add("http://f.expoon.com//sub//news//2016//01//19//650175_230x162_0.jpg");
        lists.add("http://f.expoon.com//sub//news//2016//01//19//321787_230x162_0.jpg");
        lists.add("http://f.expoon.com//sub//news//2016//01//19//376254_230x162_0.jpg");
        viewpager.setAdapter(new MyVpAdapter(getActivity(),lists));
        viewpager.setCurrentItem(50);
        handler.sendEmptyMessageDelayed(1,1000);
    }

    private void initPsv() {
        psv.setMode(PullToRefreshBase.Mode.BOTH);
        psv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
                typeInt = 0;
                pageInt = 1;
                netString = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+pageInt;
                new MyTask().execute(netString);
                psv.onRefreshComplete();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ScrollView> pullToRefreshBase) {
                typeInt = 1;
                pageInt++;
                netString = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+pageInt;
                new MyTask().execute(netString);
                psv.onRefreshComplete();
            }
        });
    }
    void requestData(){
        new MyTask().execute(netString);
    }
    class MyTask extends AsyncTask<String,Void,String>{
        @Override
        protected String doInBackground(String... strings) {
            String netData = NetUtils.getNetData(strings[0]);
            Log.i("zzz",netData);
            return netData;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            Humen humen = gson.fromJson(s, Humen.class);
            List<Humen.DataBean> data = humen.getData();

            if(typeInt==0){
                list.clear();
            }
            list.addAll(data);
            setAdapter();
        }
    }
    void setAdapter(){
        if(adapter==null){
            listview.setAdapter(new ListAdapter(getActivity(),list));
        }else {
            adapter.notifyDataSetChanged();
        }
    }
}
//activity
public class ShowActivity extends AppCompatActivity {


    private RadioGroup rg;
    private FrameLayout my_frame;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show);
        rg = findViewById(R.id.my_radio_group);
        my_frame = findViewById(R.id.my_frame);
        //view_pager.setAdapter();
        getSupportFragmentManager().beginTransaction().replace(R.id.my_frame,new ShowVpFragment()).commit();
        rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup radioGroup, int i) {
                switch (i){
                    case R.id.rg_01:
                        getSupportFragmentManager().beginTransaction().replace(R.id.my_frame,new ShowVpFragment()).commit();
                        break;
                    case R.id.rg_02:
                        getSupportFragmentManager().beginTransaction().replace(R.id.my_frame,new MessageFragment()).commit();
                }
            }
        });
    }


}

猜你喜欢

转载自blog.csdn.net/sylkeel/article/details/80189631
今日推荐