|
@@ -3,6 +3,7 @@ package com.ynstkz.shitu.android.fragment;
|
|
|
import android.annotation.SuppressLint;
|
|
|
import android.app.Activity;
|
|
|
import android.content.Intent;
|
|
|
+import android.graphics.Point;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
@@ -41,7 +42,6 @@ import com.ynstkz.shitu.android.adapter.OrgNavigationGridAdapter;
|
|
|
import com.ynstkz.shitu.android.application.STSign;
|
|
|
import com.ynstkz.shitu.android.base.BaseFragment;
|
|
|
import com.ynstkz.shitu.android.bean.CourseItemBean;
|
|
|
-import com.ynstkz.shitu.android.bean.CourseNavigationBean;
|
|
|
import com.ynstkz.shitu.android.bean.HomeBannerBean;
|
|
|
import com.ynstkz.shitu.android.bean.LocationDataBean;
|
|
|
import com.ynstkz.shitu.android.bean.OrgItemBean;
|
|
@@ -95,6 +95,8 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
RelativeLayout rlOrgMore;
|
|
|
@Bind(R.id.ll_phone_server)
|
|
|
LinearLayout llPhoneServer;
|
|
|
+ @Bind(R.id.ll_point_main)
|
|
|
+ LinearLayout llPointMain;
|
|
|
|
|
|
|
|
|
private List<HomeBannerBean.DataBean> listBanner;
|
|
@@ -104,6 +106,9 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
private double latitude;
|
|
|
|
|
|
private OrgNavigationGridAdapter orgNavigationGridAdapter;
|
|
|
+ private int bannerRealSize;
|
|
|
+ private int pointIndex;
|
|
|
+ private List<ImageView> listPointView;
|
|
|
|
|
|
@Override
|
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
|
@@ -118,6 +123,7 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
private void initView() {
|
|
|
EventBus.getDefault().register(this);
|
|
|
svMain.setOnRefreshListener(this);
|
|
|
+ listBanner = new ArrayList<>();
|
|
|
}
|
|
|
|
|
|
private void initData() {
|
|
@@ -142,6 +148,8 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
@Override
|
|
|
public void onPageSelected(int position) {
|
|
|
bannerIndex = position;
|
|
|
+ pointIndex = position % bannerRealSize;
|
|
|
+ refreshPointView();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -184,11 +192,11 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
@Override
|
|
|
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
|
|
|
|
|
|
- if(orgNavigationGridAdapter == null){
|
|
|
+ if (orgNavigationGridAdapter == null) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- OrgNavigationBean.DataBean dataBean = (OrgNavigationBean.DataBean)adapterView.getAdapter().getItem(i);
|
|
|
+ OrgNavigationBean.DataBean dataBean = (OrgNavigationBean.DataBean) adapterView.getAdapter().getItem(i);
|
|
|
|
|
|
Intent intent = new Intent(getActivity(), OrgListActivity.class);
|
|
|
intent.putExtra("isHideTitleView", true);
|
|
@@ -223,15 +231,15 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
/**
|
|
|
* 初始化缓存数据
|
|
|
*/
|
|
|
- private void initCacheData(){
|
|
|
+ private void initCacheData() {
|
|
|
//初始化banner
|
|
|
|
|
|
//获取机构导航数据
|
|
|
Cache<OrgNavigationBean> cacheNavigation = new Cache<>();
|
|
|
OrgNavigationBean orgNavigationBean = cacheNavigation.get("OrgNavigationBean");
|
|
|
- if(orgNavigationBean != null){
|
|
|
- if("200".equals(orgNavigationBean.getCode())){
|
|
|
- if(orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0){
|
|
|
+ if (orgNavigationBean != null) {
|
|
|
+ if ("200".equals(orgNavigationBean.getCode())) {
|
|
|
+ if (orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0) {
|
|
|
orgNavigationGridAdapter = new OrgNavigationGridAdapter(getActivity(), orgNavigationBean.getData());
|
|
|
gvCourseNavigation.setAdapter(orgNavigationGridAdapter);
|
|
|
orgNavigationGridAdapter.notifyDataSetChanged();
|
|
@@ -264,8 +272,18 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
if (bannerBean != null) {
|
|
|
if ("200".equals(bannerBean.getCode())) {
|
|
|
if (bannerBean.getData() != null) {
|
|
|
- listBanner = bannerBean.getData();
|
|
|
+ List<HomeBannerBean.DataBean> listBanner = bannerBean.getData();
|
|
|
+ bannerRealSize = listBanner.size();
|
|
|
+ HomeFragment.this.listBanner.clear();
|
|
|
+ if(bannerRealSize > 1) {
|
|
|
+ for (int i = 0; i < 100; i++) {
|
|
|
+ HomeFragment.this.listBanner.addAll(listBanner);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ HomeFragment.this.listBanner.addAll(listBanner);
|
|
|
+ }
|
|
|
initBannerView();
|
|
|
+ initPointView();
|
|
|
}
|
|
|
} else {
|
|
|
showToast(bannerBean.getMsg());
|
|
@@ -293,10 +311,10 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
|
|
|
@Override
|
|
|
public void onResponse(Object response, int id) {
|
|
|
- OrgNavigationBean orgNavigationBean = (OrgNavigationBean)response;
|
|
|
- if(orgNavigationBean != null){
|
|
|
- if("200".equals(orgNavigationBean.getCode())){
|
|
|
- if(orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0){
|
|
|
+ OrgNavigationBean orgNavigationBean = (OrgNavigationBean) response;
|
|
|
+ if (orgNavigationBean != null) {
|
|
|
+ if ("200".equals(orgNavigationBean.getCode())) {
|
|
|
+ if (orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0) {
|
|
|
orgNavigationGridAdapter = new OrgNavigationGridAdapter(getActivity(), orgNavigationBean.getData());
|
|
|
gvCourseNavigation.setAdapter(orgNavigationGridAdapter);
|
|
|
orgNavigationGridAdapter.notifyDataSetChanged();
|
|
@@ -369,7 +387,7 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
TextView tvviewcount = view.findViewById(R.id.tv_view_count);
|
|
|
//加载机构数据
|
|
|
final OrgItemBean orgItemBean = listOrg.get(i);
|
|
|
- if(!TextUtils.isEmpty(orgItemBean.getHeadPic())){
|
|
|
+ if (!TextUtils.isEmpty(orgItemBean.getHeadPic())) {
|
|
|
Glide.with(getActivity()).load(orgItemBean.getHeadPic()).asBitmap().transform(new GlideRoundTransform(getActivity())).into(iv_headPic);
|
|
|
} else {
|
|
|
iv_headPic.setImageResource(R.drawable.org_item_default_icon);
|
|
@@ -438,7 +456,6 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
getActivity().getWindowManager().getDefaultDisplay().getMetrics(metrics);
|
|
|
viewpager.setPageMargin((int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 25, metrics));
|
|
|
viewpager.setPageTransformer(true, new MyPageTransform());
|
|
|
- viewpager.setOffscreenPageLimit(listBanner.size());
|
|
|
|
|
|
HomeBannerAdapter homeBannerAdapter = new HomeBannerAdapter(getActivity(), listBanner);
|
|
|
viewpager.setAdapter(homeBannerAdapter);
|
|
@@ -447,6 +464,43 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
handler.sendEmptyMessageDelayed(10, BANNER_DELAYED);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 初始化焦点View
|
|
|
+ */
|
|
|
+ private void initPointView(){
|
|
|
+ if(bannerRealSize > 0){
|
|
|
+ listPointView = new ArrayList<>();
|
|
|
+ for(int i=0; i< bannerRealSize; i++) {
|
|
|
+ ImageView imageView = new ImageView(getActivity());
|
|
|
+ imageView.setImageResource(R.drawable.banner_point_nomal);
|
|
|
+ LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(15, 15);
|
|
|
+ params.rightMargin = 10;
|
|
|
+ imageView.setLayoutParams(params);
|
|
|
+ listPointView.add(imageView);
|
|
|
+ llPointMain.addView(imageView);
|
|
|
+ }
|
|
|
+ refreshPointView();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 刷新焦点图片
|
|
|
+ */
|
|
|
+ private void refreshPointView(){
|
|
|
+ if(pointIndex >= bannerRealSize) {
|
|
|
+ pointIndex = 0;
|
|
|
+ }
|
|
|
+ if(listPointView != null && listBanner.size() > 0){
|
|
|
+ for(int i=0; i<listPointView.size(); i++){
|
|
|
+ if(i == pointIndex) {
|
|
|
+ listPointView.get(i).setImageResource(R.drawable.banner_point_press);
|
|
|
+ } else {
|
|
|
+ listPointView.get(i).setImageResource(R.drawable.banner_point_nomal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
class MyPageTransform implements ViewPager.PageTransformer {
|
|
|
|
|
|
final float SCALE_MAX = 0.8f;
|
|
@@ -516,9 +570,9 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
|
|
|
|
|
|
@Override
|
|
|
public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
|
- switch (requestCode){
|
|
|
+ switch (requestCode) {
|
|
|
case 20:
|
|
|
- if(resultCode == Activity.RESULT_OK) {
|
|
|
+ if (resultCode == Activity.RESULT_OK) {
|
|
|
LocationDataBean locationDataBean = new LocationDataBean();
|
|
|
locationDataBean.setCity(data.getStringExtra("city"));
|
|
|
locationDataBean.setLatitude(data.getDoubleExtra("latitude", 0));
|