package com.lcodecore.twinklingrefreshlayout;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.GridView;
import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
import com.lcodecore.tkrefreshlayout.footer.LoadingView;
import com.lcodecore.tkrefreshlayout.header.SinaRefreshView;
import com.lcodecore.twinklingrefreshlayout.adapter.ScienceAdapter;
import com.lcodecore.twinklingrefreshlayout.utils.ToastUtil;
/**
* Created by lcodecore on 2017/3/27.
*/
public class TestActivity extends AppCompatActivity implements View.OnClickListener {
private ScienceAdapter adapter;
private TwinklingRefreshLayout refreshLayout;
private TestButton toggle_enableLoadmore, toggle_pureScrollMode_on, toggle_overScrollTopShow, toggle_osFooterShow, toggle_enableOverScroll, toggle_enableKeepIView,
toggle_showRefreshingWhenOverScroll, toggle_showLoadingWhenOverScroll, toggle_floatRefresh, toggle_autoLoadMore,toggle_enableRefresh;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
setupGridView((GridView) findViewById(R.id.gridView));
findViewById(R.id.bt_back).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
toggle_enableLoadmore = new TestButton(R.id.toggle_enableLoadmore, "enableLoadmore", true);
toggle_pureScrollMode_on = new TestButton(R.id.toggle_pureScrollMode_on, "pureScrollMode_on", false);
toggle_overScrollTopShow = new TestButton(R.id.toggle_overScrollTopShow, "overScrollTopShow", true);
toggle_osFooterShow = new TestButton(R.id.toggle_osFooterShow, "osFooterShow", true);
toggle_enableOverScroll = new TestButton(R.id.toggle_enableOverScroll, "enableOverScroll", true);
toggle_enableKeepIView = new TestButton(R.id.toggle_enableKeepIView, "enableKeepIView", true);
toggle_showRefreshingWhenOverScroll = new TestButton(R.id.toggle_showRefreshingWhenOverScroll, "showRefreshingWhenOS", true);
toggle_showLoadingWhenOverScroll = new TestButton(R.id.toggle_showLoadingWhenOverScroll, "showLoadingWhenOS", true);
toggle_floatRefresh = new TestButton(R.id.toggle_floatRefresh, "floatRefresh", false);
toggle_autoLoadMore = new TestButton(R.id.toggle_autoLoadMore, "autoLoadMore", false);
toggle_enableRefresh = new TestButton(R.id.toggle_enableRefresh,"enableRefresh",true);
}
private void setupGridView(GridView gridView) {
refreshLayout = (TwinklingRefreshLayout) findViewById(R.id.refresh);
SinaRefreshView headerView = new SinaRefreshView(this);
headerView.setArrowResource(R.drawable.arrow);
headerView.setTextColor(0xff745D5C);
// TextHeaderView headerView = (TextHeaderView) View.inflate(this,R.layout.header_tv,null);
refreshLayout.setHeaderView(headerView);
LoadingView loadingView = new LoadingView(this);
refreshLayout.setBottomView(loadingView);
adapter = new ScienceAdapter();
gridView.setAdapter(adapter);
adapter.refreshCard();
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
ToastUtil.show("item clicked!");
}
});
refreshLayout.setOnRefreshListener(new RefreshListenerAdapter() {
@Override
public void onRefresh(final TwinklingRefreshLayout refreshLayout) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
adapter.refreshCard();
refreshLayout.finishRefreshing();
}
}, 2000);
}
@Override
public void onLoadMore(final TwinklingRefreshLayout refreshLayout) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
adapter.loadMoreCard();
refreshLayout.finishLoadmore();
}
}, 2000);
}
});
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.toggle_enableLoadmore:
toggle_enableLoadmore.toggle();
refreshLayout.setEnableLoadmore(toggle_enableLoadmore.flag);
break;
case R.id.toggle_pureScrollMode_on:
toggle_pureScrollMode_on.toggle();
refreshLayout.setPureScrollModeOn();
break;
case R.id.toggle_overScrollTopShow:
toggle_overScrollTopShow.toggle();
refreshLayout.setOverScrollTopShow(toggle_overScrollTopShow.flag);
break;
case R.id.toggle_osFooterShow:
toggle_osFooterShow.toggle();
refreshLayout.setOverScrollBottomShow(toggle_osFooterShow.flag);
break;
case R.id.toggle_enableOverScroll:
toggle_enableOverScroll.toggle();
refreshLayout.setEnableOverScroll(toggle_enableOverScroll.flag);
break;
case R.id.toggle_enableKeepIView:
toggle_enableKeepIView.toggle();
refreshLayout.setEnableKeepIView(toggle_enableKeepIView.flag);
break;
case R.id.toggle_showRefreshingWhenOverScroll:
toggle_showRefreshingWhenOverScroll.toggle();
refreshLayout.showRefreshingWhenOverScroll(toggle_showRefreshingWhenOverScroll.flag);
break;
case R.id.toggle_showLoadingWhenOverScroll:
toggle_showLoadingWhenOverScroll.toggle();
refreshLayout.showLoadingWhenOverScroll(toggle_showLoadingWhenOverScroll.flag);
break;
case R.id.toggle_floatRefresh:
toggle_floatRefresh.toggle();
refreshLayout.setFloatRefresh(toggle_floatRefresh.flag);
break;
case R.id.toggle_autoLoadMore:
toggle_autoLoadMore.toggle();
refreshLayout.setAutoLoadMore(toggle_autoLoadMore.flag);
break;
case R.id.toggle_enableRefresh:
toggle_enableRefresh.toggle();
refreshLayout.setEnableRefresh(toggle_enableRefresh.flag);
}
}
class TestButton {
private Button button;
private boolean flag;
private String text;
public TestButton(int id, String text, boolean flag) {
button = (Button) findViewById(id);
this.text = text;
this.flag = flag;
button.setOnClickListener(TestActivity.this);
button.setText(text + "->" + flag);
}
public void toggle() {
flag = !flag;
button.setText(text + "->" + flag);
}
}
}