package com.example.w.lianxi50;
import android.annotation.SuppressLint;
import android.os.AsyncTask;
import android.os.Handler;
import android.os.Message;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import adapter.Adapter;
import adapter.MyAdapter;
import adapter.MypageAdapter;
import bean.UserBean;
public class MainActivity extends AppCompatActivity {
private ViewPager view_page;
private TabLayout tab_layout;
private PullToRefreshGridView pull_gridView;
private String[] title={"头条1","头条2","头条3","头条4","头条5","头条6","头条7","头条8","头条9","头条1","头条1"};
private ArrayList<Fragment> list;
private int page=10;
private String uri="https://www.apiopen.top/satinApi?type=1&page=";
private boolean state_load=true;
private boolean state_pull=false;
private boolean state_push=false;
private Adapter adapter;
private ViewPager view_page1;
private LinearLayout linear_layout;
private ArrayList<ImageView> image;
private ArrayList<String> uri_image;
@SuppressLint("HandlerLeak")
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
int item = view_page1.getCurrentItem();
view_page1.setCurrentItem(item+1);
changePoint((item+1)%uri_image.size());
handler.sendEmptyMessageDelayed(0,2000);
}
};
private void changePoint(int i) {
for (int j=0;j<image.size();j++){
if (j == i) {
image.get(j).setImageResource(R.drawable.red);
} else {
image.get(j).setImageResource(R.drawable.white);
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
view_page = findViewById(R.id.view_page);
tab_layout = findViewById(R.id.tab_layout);
view_page1 = findViewById(R.id.view_page1);
linear_layout = findViewById(R.id.linear_layout);
pull_gridView = findViewById(R.id.pull_gridView);
list = new ArrayList<>();
for (String title:title){
list.add(top.newgetInstance(title));
}
MyAdapter myAdapter = new MyAdapter(getSupportFragmentManager(), list);
view_page.setAdapter(myAdapter);
pull_gridView.setMode(PullToRefreshBase.Mode.BOTH);
pull_gridView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<GridView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) {
changestate(false, true, false);
if (page > 1) {
page--;
new load().execute(uri + page);
} else {
pull_gridView.onRefreshComplete();
}
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) {
changestate(false,false,true);
page++;
new load().execute(uri+page);
}
});
new load().execute(uri+page);
//轮播
image = new ArrayList<>();
uri_image = new ArrayList<>();
uri_image.add("http://img.zcool.cn/community/0142135541fe180000019ae9b8cf86.jpg@1280w_1l_2o_100sh.png");
uri_image.add("http://img.zcool.cn/community/0181845834f4eda8012060c8c95113.JPG@1280w_1l_2o_100sh.png");
uri_image.add("http://img.zcool.cn/community/019489590ad530a801214550df4b17.jpg@1280w_1l_2o_100sh.png");
uri_image.add("http://img.zcool.cn/community/019489590ad530a801214550df4b17.jpg@1280w_1l_2o_100sh.png");
MypageAdapter mypageAdapter = new MypageAdapter(MainActivity.this, uri_image);
view_page1.setAdapter(mypageAdapter);
handler.sendEmptyMessageDelayed(0,2000);
point();
}
private void point() {
for (int i=0;i<uri_image.size();i++){
ImageView imageView = new ImageView(this);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
if (i == 0) {
imageView.setImageResource(R.drawable.red);
} else {
imageView.setImageResource(R.drawable.white);
}
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(30, 30);
linear_layout.addView(imageView,params);
image.add(imageView);
}
}
class load extends AsyncTask<String, Void, List<UserBean.DataBean>> {
@Override
protected List<UserBean.DataBean> doInBackground(String... strings) {
try {
URL url = new URL(strings[0]);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
if (connection.getResponseCode()==200) {
String json=InputStream2(connection.getInputStream());
Gson gson = new Gson();
UserBean bean = gson.fromJson(json, UserBean.class);
return bean.getData();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(List<UserBean.DataBean> dataBeans) {
super.onPostExecute(dataBeans);
if (state_load) {
adapter = new Adapter(MainActivity.this,dataBeans);
pull_gridView.setAdapter(adapter);
} else if (state_pull) {
adapter.add(dataBeans);
} else {
adapter.loadMore(dataBeans);
}
pull_gridView.onRefreshComplete();
}
}
private String InputStream2(InputStream inputStream) throws IOException {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
int len=-1;
byte[] bytes = new byte[1024];
while ((len=inputStream.read(bytes))!=-1) {
outputStream.write(bytes,0,len);
}
return new String(outputStream.toByteArray());
}
private void changestate(boolean b, boolean b1, boolean b2) {
state_load=b;
state_pull=b1;
state_push=b2;
}
}
TabLayout 轮播 展示
最新推荐文章于 2020-11-10 14:42:58 发布