添加首页轮播图数据统计
This commit is contained in:
@ -28,6 +28,7 @@ import android.widget.LinearLayout;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.android.volley.Request;
|
||||
import com.android.volley.Request.Method;
|
||||
import com.android.volley.Response;
|
||||
import com.android.volley.VolleyError;
|
||||
@ -59,6 +60,7 @@ import com.gh.gamecenter.entity.AppEntity;
|
||||
import com.gh.gamecenter.entity.GameDigestEntity;
|
||||
import com.gh.gamecenter.entity.GameEntity;
|
||||
import com.gh.gamecenter.entity.GameUpdateEntity;
|
||||
import com.gh.gamecenter.entity.SlideEntity;
|
||||
import com.gh.gamecenter.eventbus.EBDownloadStatus;
|
||||
import com.gh.gamecenter.eventbus.EBPackage;
|
||||
import com.gh.gamecenter.eventbus.EBShowDialog;
|
||||
@ -265,6 +267,48 @@ public class MainActivity extends BaseFragmentActivity implements OnClickListene
|
||||
map.put("installed", downloadEntity.getInstalled());
|
||||
map.put("network", NetworkUtils.getConnectedType(MainActivity.this));
|
||||
DataCollectionManager.onEvent(MainActivity.this, "download", map);
|
||||
|
||||
if (downloadEntity.getEntrance().matches("^" + "\\(游戏\\-插件:滚动图\\[.+\\]\\)" + "$")) {
|
||||
// 首页轮播图数据统计
|
||||
statLunbotuData(downloadEntity.getEntrance());
|
||||
}
|
||||
}
|
||||
|
||||
// 首页轮播图数据统计
|
||||
private void statLunbotuData(String entrance) {
|
||||
int start = entrance.indexOf("[");
|
||||
int end = entrance.indexOf("]");
|
||||
if (start != -1 && end != -1) {
|
||||
entrance = entrance.substring(start + 1, end);
|
||||
String[] values = entrance.split("=");
|
||||
if (values.length == 3) {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("location", values[2]);
|
||||
map.put("type", values[1]);
|
||||
map.put("title", values[0]);
|
||||
map.put("form", "download");
|
||||
|
||||
String version = PackageUtils.getVersion(this);
|
||||
String user = DeviceUtils.getDeviceID(this);
|
||||
String channel = (String) PackageUtils.getMetaData(this, getPackageName(), "TD_CHANNEL_ID");
|
||||
map.put("version", version);
|
||||
map.put("user", user);
|
||||
map.put("device_id", TokenUtils.getDeviceId(this));
|
||||
map.put("channel", channel);
|
||||
String url = Config.DATA_HOST + "api/v1d0/log";
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("topic", "lunbotu");
|
||||
params.put("source", "GH-ASSIST-Client");
|
||||
params.put("time", String.valueOf(Utils.getTime(this)));
|
||||
params.put("content", new JSONObject(map).toString());
|
||||
StringExtendedRequest request = new StringExtendedRequest(Request.Method.POST, url, null, null);
|
||||
request.setParams(params);
|
||||
request.setShouldCache(false);
|
||||
AppController.addToRequestQueue(request);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void processHijack(DownloadEntity downloadEntity) {
|
||||
|
||||
@ -10,15 +10,26 @@ import android.content.Intent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.android.volley.Request;
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.gh.base.AppController;
|
||||
import com.gh.common.constant.Config;
|
||||
import com.gh.common.util.DataUtils;
|
||||
import com.gh.common.util.DeviceUtils;
|
||||
import com.gh.common.util.GameUtils;
|
||||
import com.gh.common.util.ImageUtils;
|
||||
import com.gh.common.util.NewsUtils;
|
||||
import com.gh.common.util.PackageUtils;
|
||||
import com.gh.common.util.TokenUtils;
|
||||
import com.gh.common.util.Utils;
|
||||
import com.gh.gamecenter.GameDetailActivity;
|
||||
import com.gh.gamecenter.NewsDetailActivity;
|
||||
import com.gh.gamecenter.R;
|
||||
import com.gh.gamecenter.SubjectActivity;
|
||||
import com.gh.gamecenter.entity.SlideEntity;
|
||||
import com.gh.gamecenter.volley.extended.StringExtendedRequest;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@ -70,22 +81,17 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
|
||||
|
||||
@Override
|
||||
public View getView(final int position, View view, ViewGroup container) {
|
||||
ViewHolder holder;
|
||||
if (view == null) {
|
||||
holder = new ViewHolder();
|
||||
view = holder.imageView = new SimpleDraweeView(context);
|
||||
view.setTag(holder);
|
||||
} else {
|
||||
holder = (ViewHolder) view.getTag();
|
||||
view = new SimpleDraweeView(context);
|
||||
}
|
||||
|
||||
final SlideEntity slideEntity = slideList.get(getPosition(position));
|
||||
|
||||
ImageUtils.getInstance().display(context.getResources(), holder.imageView,
|
||||
ImageUtils.getInstance().display(context.getResources(), (SimpleDraweeView) view,
|
||||
slideEntity.getImage(), R.drawable.preload);
|
||||
// indicator.setPosition(slideList.size(), getPosition(position));
|
||||
|
||||
holder.imageView.setOnClickListener(new View.OnClickListener() {
|
||||
view.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
||||
@ -94,15 +100,27 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
|
||||
kv.put("位置", getPosition(position) + 1);
|
||||
DataUtils.onEvent(context, "点击", "游戏-插件-滚动图", kv);
|
||||
|
||||
// 首页轮播图数据统计
|
||||
statLunbotuData(getPosition(position));
|
||||
|
||||
if ("game".equals(slideEntity.getType())) {
|
||||
GameUtils.startGameDetailActivity(context, slideEntity.getLink(), "(游戏-插件:滚动图)");
|
||||
String entrance = "(游戏-插件:滚动图["
|
||||
+ slideEntity.getName()
|
||||
+ "=" + slideEntity.getType()
|
||||
+ "=" + (getPosition(position) + 1)
|
||||
+ "])";
|
||||
GameUtils.startGameDetailActivity(context, slideEntity.getLink(), entrance);
|
||||
} else if ("news".equals(slideEntity.getType())) {
|
||||
// 统计阅读量
|
||||
NewsUtils.statNewsViews(slideEntity.getLink());
|
||||
|
||||
Intent intent = new Intent(context, NewsDetailActivity.class);
|
||||
intent.putExtra("newsId", slideEntity.getLink());
|
||||
intent.putExtra("entrance", "(游戏-插件:滚动图)");
|
||||
intent.putExtra("entrance", "(游戏-插件:滚动图["
|
||||
+ slideEntity.getName()
|
||||
+ "=" + slideEntity.getType()
|
||||
+ "=" + (getPosition(position) + 1)
|
||||
+ "])");
|
||||
context.startActivity(intent);
|
||||
} else if ("column".equals(slideEntity.getType())) {
|
||||
Intent intent = new Intent(context, SubjectActivity.class);
|
||||
@ -117,8 +135,33 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
|
||||
return view;
|
||||
}
|
||||
|
||||
private static class ViewHolder {
|
||||
SimpleDraweeView imageView;
|
||||
// 首页轮播图数据统计
|
||||
public void statLunbotuData(int position) {
|
||||
SlideEntity slideEntity = slideList.get(position);
|
||||
|
||||
Map<String, String> map = new HashMap<>();
|
||||
map.put("location", String.valueOf(position + 1));
|
||||
map.put("type", slideEntity.getType());
|
||||
map.put("title", slideEntity.getName());
|
||||
map.put("form", "click");
|
||||
|
||||
String version = PackageUtils.getVersion(context);
|
||||
String user = DeviceUtils.getDeviceID(context);
|
||||
String channel = (String) PackageUtils.getMetaData(context, context.getPackageName(), "TD_CHANNEL_ID");
|
||||
map.put("version", version);
|
||||
map.put("user", user);
|
||||
map.put("device_id", TokenUtils.getDeviceId(context));
|
||||
map.put("channel", channel);
|
||||
String url = Config.DATA_HOST + "api/v1d0/log";
|
||||
Map<String, String> params = new HashMap<>();
|
||||
params.put("topic", "lunbotu");
|
||||
params.put("source", "GH-ASSIST-Client");
|
||||
params.put("time", String.valueOf(Utils.getTime(context)));
|
||||
params.put("content", new JSONObject(map).toString());
|
||||
StringExtendedRequest request = new StringExtendedRequest(Request.Method.POST, url, null, null);
|
||||
request.setParams(params);
|
||||
request.setShouldCache(false);
|
||||
AppController.addToRequestQueue(request);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -136,4 +179,5 @@ public class ImagePagerAdapter extends RecyclingPagerAdapter {
|
||||
this.isInfiniteLoop = isInfiniteLoop;
|
||||
return this;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -0,0 +1,29 @@
|
||||
package com.gh.gamecenter.adapter.viewholder;
|
||||
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.view.View;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.gh.common.view.AutoScrollViewPager;
|
||||
import com.gh.gamecenter.R;
|
||||
|
||||
/**
|
||||
* Created by LGT on 2016/11/14.
|
||||
* viewHolder
|
||||
*/
|
||||
public class GameViewPagerViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
public AutoScrollViewPager viewPager;
|
||||
public LinearLayout viewpager_ll_hint;
|
||||
public TextView viewpager_tv_failure;
|
||||
|
||||
public GameViewPagerViewHolder(View itemView) {
|
||||
super(itemView);
|
||||
|
||||
viewPager = (AutoScrollViewPager) itemView.findViewById(R.id.view_pager);
|
||||
viewpager_ll_hint = (LinearLayout) itemView.findViewById(R.id.viewpager_ll_hint);
|
||||
viewpager_tv_failure = (TextView) itemView.findViewById(R.id.viewpager_tv_failure);
|
||||
}
|
||||
|
||||
}
|
||||
@ -32,6 +32,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by khy on 2016/6/27.
|
||||
* 游戏-插件界面
|
||||
*/
|
||||
public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.OnRefreshListener {
|
||||
|
||||
@ -45,10 +46,6 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
|
||||
private int currentItem;
|
||||
|
||||
private boolean isEverpause;
|
||||
|
||||
private Handler handler = new Handler();
|
||||
|
||||
private DataWatcher dataWatcher = new DataWatcher() {
|
||||
@Override
|
||||
public void onDataChanged(DownloadEntity downloadEntity) {
|
||||
@ -76,8 +73,6 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
|
||||
currentItem = 0;
|
||||
|
||||
isEverpause = false;
|
||||
|
||||
reuse_no_connection.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
@ -94,7 +89,7 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
|
||||
fm_game_rv_list.setHasFixedSize(true);
|
||||
fm_game_rv_list.setLayoutManager(new LinearLayoutManager(getActivity()));
|
||||
adapter = new Game1FragmentAdapter(Game1Fragment.this, fm_game_swipe_refresh, false);
|
||||
adapter = new Game1FragmentAdapter(Game1Fragment.this, fm_game_swipe_refresh);
|
||||
fm_game_rv_list.setAdapter(adapter);
|
||||
|
||||
fm_game_rv_list.setOnScrollListener(new RecyclerView.OnScrollListener() {
|
||||
@ -260,7 +255,6 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (isEverpause) {
|
||||
for (SubjectEntity subjectEntity : adapter.getSubjectList()) {
|
||||
for (GameEntity entity :subjectEntity.getData()) {
|
||||
@ -272,7 +266,7 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
}
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
isEverpause = false;
|
||||
super.onResume();
|
||||
DownloadManager.getInstance(getActivity()).addObserver(dataWatcher);
|
||||
if (currentItem == 0) {
|
||||
adapter.startAutoScroll();
|
||||
@ -282,22 +276,18 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
isEverpause = true;
|
||||
DownloadManager.getInstance(getActivity()).removeObserver(dataWatcher);
|
||||
if (currentItem == 0) {
|
||||
adapter.stopAutoScroll();
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isEverpause() {
|
||||
return isEverpause;
|
||||
}
|
||||
|
||||
Runnable runnable = new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
adapter = new Game1FragmentAdapter(Game1Fragment.this, fm_game_swipe_refresh, true);
|
||||
adapter = new Game1FragmentAdapter(Game1Fragment.this, fm_game_swipe_refresh);
|
||||
fm_game_rv_list.setAdapter(adapter);
|
||||
adapter.initSlide(true);
|
||||
}
|
||||
};
|
||||
|
||||
@ -311,4 +301,5 @@ public class Game1Fragment extends BaseFragment implements SwipeRefreshLayout.On
|
||||
super.onDestroy();
|
||||
AppController.canclePendingRequests(TAG);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -14,7 +14,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.android.volley.NoConnectionError;
|
||||
@ -45,6 +44,7 @@ import com.gh.gamecenter.adapter.viewholder.GameHeadViewHolder;
|
||||
import com.gh.gamecenter.adapter.viewholder.GameImageViewHolder;
|
||||
import com.gh.gamecenter.adapter.viewholder.GameNormalViewHolder;
|
||||
import com.gh.gamecenter.adapter.viewholder.GameTestViewHolder;
|
||||
import com.gh.gamecenter.adapter.viewholder.GameViewPagerViewHolder;
|
||||
import com.gh.gamecenter.entity.ApkEntity;
|
||||
import com.gh.gamecenter.entity.GameEntity;
|
||||
import com.gh.gamecenter.entity.GameUpdateEntity;
|
||||
@ -65,10 +65,12 @@ import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Created by LGT on 2016/7/1.
|
||||
* 游戏-插件-数据适配器
|
||||
*/
|
||||
public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
@ -91,12 +93,12 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
private boolean isNetworkError;
|
||||
private boolean isSlideError;
|
||||
private boolean isListError;
|
||||
private boolean isRemove;
|
||||
private boolean isOver;
|
||||
private boolean isInitPlugin;
|
||||
private boolean isAutoScroll;
|
||||
|
||||
public Game1FragmentAdapter(Game1Fragment fragment,
|
||||
SwipeRefreshLayout refreshLayout,
|
||||
boolean isLoad) {
|
||||
SwipeRefreshLayout refreshLayout) {
|
||||
|
||||
this.fragment = fragment;
|
||||
this.context = fragment.getActivity();
|
||||
@ -116,12 +118,9 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
isNetworkError = false;
|
||||
isSlideError = false;
|
||||
isListError = false;
|
||||
isRemove = false;
|
||||
isOver = false;
|
||||
isInitPlugin = false;
|
||||
|
||||
if (isLoad) {
|
||||
initSlide(true);
|
||||
}
|
||||
isAutoScroll = false;
|
||||
}
|
||||
|
||||
public ArrayMap<String, ArrayList<Integer>> getLocationMap() {
|
||||
@ -243,7 +242,7 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
|
||||
listener.loadDone();
|
||||
|
||||
isRemove = true;
|
||||
isOver = true;
|
||||
notifyItemChanged(getItemCount() - 1);
|
||||
|
||||
initPlugin();
|
||||
@ -467,16 +466,16 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
if (viewType == ItemViewType.GAME_SLIDE) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(
|
||||
R.layout.plugin1_autoscrollviewpager_viewholder, parent, false);
|
||||
R.layout.game_viewpager_item, parent, false);
|
||||
DisplayMetrics outMetrics = new DisplayMetrics();
|
||||
fragment.getActivity().getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
|
||||
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
|
||||
LinearLayout.LayoutParams.MATCH_PARENT, (int) (outMetrics.widthPixels / 16f * 7f));
|
||||
view.setLayoutParams(params);
|
||||
return new AutoScrollViewpagerViewHolder(view);
|
||||
return new GameViewPagerViewHolder(view);
|
||||
} else if (viewType == ItemViewType.COLUMN_HEADER) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(
|
||||
R.layout.home_game_head_item, parent, false);
|
||||
R.layout.game_head_item, parent, false);
|
||||
return new GameHeadViewHolder(view);
|
||||
} else if (viewType == ItemViewType.GAME_NORMAL) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(
|
||||
@ -488,56 +487,20 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
return new GameTestViewHolder(view);
|
||||
} else if (viewType == ItemViewType.GAME_IMAGE) {
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(
|
||||
R.layout.home_game_image_item, parent, false);
|
||||
R.layout.game_image_item, parent, false);
|
||||
return new GameImageViewHolder(view);
|
||||
} else {
|
||||
} else if (viewType == ItemViewType.LOADING){
|
||||
View view = LayoutInflater.from(parent.getContext()).inflate(
|
||||
R.layout.refresh_footerview, parent, false);
|
||||
return new FooterViewHolder(view);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
|
||||
if (holder instanceof AutoScrollViewpagerViewHolder) {
|
||||
AutoScrollViewpagerViewHolder viewHolder = (AutoScrollViewpagerViewHolder) holder;
|
||||
if (isSlideError) {
|
||||
viewHolder.viewpager_tv_failure.setVisibility(View.VISIBLE);
|
||||
viewHolder.viewPager.setVisibility(View.GONE);
|
||||
viewHolder.viewpager_ll_hint.setVisibility(View.GONE);
|
||||
} else {
|
||||
viewHolder.viewpager_tv_failure.setVisibility(View.GONE);
|
||||
viewHolder.viewPager.setVisibility(View.VISIBLE);
|
||||
viewHolder.viewpager_ll_hint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (slideList.size() > 0) {
|
||||
int currentItem = 0;
|
||||
if (viewHolder.viewPager.getAdapter() != null) {
|
||||
currentItem = viewHolder.viewPager.getCurrentItem();
|
||||
}
|
||||
viewHolder.viewpager_ll_hint.removeAllViews();
|
||||
for (int i = 0, size = slideList.size(); i < size; i++) {
|
||||
ImageView imageView = new ImageView(context);
|
||||
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
|
||||
DisplayUtils.dip2px(context, 6),
|
||||
DisplayUtils.dip2px(context, 6));
|
||||
lparams.bottomMargin = DisplayUtils.dip2px(context, 6);
|
||||
if (i == currentItem) {
|
||||
imageView.setImageResource(R.drawable.oval_hint_up);
|
||||
} else {
|
||||
imageView.setImageResource(R.drawable.oval_hint_dn);
|
||||
}
|
||||
if (i != 0) {
|
||||
lparams.leftMargin = DisplayUtils.dip2px(context, 6);
|
||||
}
|
||||
imageView.setLayoutParams(lparams);
|
||||
viewHolder.viewpager_ll_hint.addView(imageView);
|
||||
}
|
||||
viewHolder.viewPager.setAdapter(new ImagePagerAdapter(context, slideList, true));
|
||||
viewHolder.viewPager.setCurrentItem(currentItem);
|
||||
viewHolder.viewPager.setInterval(3000);
|
||||
viewHolder.viewPager.startAutoScroll();
|
||||
}
|
||||
if (holder instanceof GameViewPagerViewHolder) {
|
||||
initGameViewPagerViewHolder((GameViewPagerViewHolder) holder);
|
||||
} else if (holder instanceof GameHeadViewHolder) {
|
||||
initGameHeadViewHolder((GameHeadViewHolder) holder, position);
|
||||
} else if (holder instanceof GameImageViewHolder) {
|
||||
@ -551,6 +514,82 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
}
|
||||
}
|
||||
|
||||
private void initGameViewPagerViewHolder(final GameViewPagerViewHolder viewHolder) {
|
||||
if (isSlideError) {
|
||||
viewHolder.viewpager_tv_failure.setVisibility(View.VISIBLE);
|
||||
viewHolder.viewPager.setVisibility(View.GONE);
|
||||
viewHolder.viewpager_ll_hint.setVisibility(View.GONE);
|
||||
} else {
|
||||
viewHolder.viewpager_tv_failure.setVisibility(View.GONE);
|
||||
viewHolder.viewPager.setVisibility(View.VISIBLE);
|
||||
viewHolder.viewpager_ll_hint.setVisibility(View.VISIBLE);
|
||||
}
|
||||
if (slideList.size() != 0 && viewHolder.viewPager.getAdapter() == null) {
|
||||
viewHolder.viewpager_ll_hint.removeAllViews();
|
||||
for (int i = 0, size = slideList.size(); i < size; i++) {
|
||||
ImageView imageView = new ImageView(context);
|
||||
LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(
|
||||
DisplayUtils.dip2px(context, 6), DisplayUtils.dip2px(context, 6));
|
||||
lparams.bottomMargin = DisplayUtils.dip2px(context, 6);
|
||||
if (i == 0) {
|
||||
imageView.setImageResource(R.drawable.oval_hint_up);
|
||||
} else {
|
||||
imageView.setImageResource(R.drawable.oval_hint_dn);
|
||||
}
|
||||
if (i != 0) {
|
||||
lparams.leftMargin = DisplayUtils.dip2px(context, 6);
|
||||
}
|
||||
imageView.setLayoutParams(lparams);
|
||||
viewHolder.viewpager_ll_hint.addView(imageView);
|
||||
}
|
||||
viewHolder.viewPager.setAdapter(new ImagePagerAdapter(context, slideList, true));
|
||||
viewHolder.viewPager.setInterval(3000);
|
||||
viewHolder.viewPager.startAutoScroll();
|
||||
viewHolder.viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
for (int i = 0, size = viewHolder.viewpager_ll_hint.getChildCount(); i < size; i++) {
|
||||
if (i == position % size) {
|
||||
((ImageView) viewHolder.viewpager_ll_hint.getChildAt(i))
|
||||
.setImageResource(R.drawable.oval_hint_up);
|
||||
} else {
|
||||
((ImageView) viewHolder.viewpager_ll_hint.getChildAt(i))
|
||||
.setImageResource(R.drawable.oval_hint_dn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
// 解决viewpager和SwipeRefreshLayout滑动冲突
|
||||
if (state == ViewPager.SCROLL_STATE_DRAGGING) {
|
||||
game_swipe_refresh.setEnabled(false);
|
||||
} else {
|
||||
game_swipe_refresh.setEnabled(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
viewHolder.viewpager_tv_failure.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
isSlideError = false;
|
||||
notifyItemChanged(0);
|
||||
initSlide(false);
|
||||
}
|
||||
});
|
||||
}
|
||||
if (isAutoScroll) {
|
||||
viewHolder.viewPager.startAutoScroll();
|
||||
} else {
|
||||
viewHolder.viewPager.stopAutoScroll();
|
||||
}
|
||||
}
|
||||
|
||||
private void initGameTestViewHolder(GameTestViewHolder holder, int position) {
|
||||
int offset = 1;
|
||||
if (!pluginList.isEmpty()) {
|
||||
@ -845,7 +884,7 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
holder.title.setTextColor(Color.parseColor("#00b7fa"));
|
||||
holder.thumb.setVisibility(View.VISIBLE);
|
||||
holder.thumb.setImageResource(R.drawable.home_plug_upgrade);
|
||||
holder.title.setText("你有" + pluginSize + "个游戏可以升级插件版");
|
||||
holder.title.setText(String.format(Locale.getDefault(), "你有%d个游戏可以升级插件版", pluginSize));
|
||||
if (pluginSize <= 3) {
|
||||
holder.link.setVisibility(View.GONE);
|
||||
} else {
|
||||
@ -909,63 +948,6 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
}
|
||||
}
|
||||
|
||||
private AutoScrollViewPager autoScrollViewPager;
|
||||
|
||||
public class AutoScrollViewpagerViewHolder extends RecyclerView.ViewHolder {
|
||||
|
||||
private AutoScrollViewPager viewPager;
|
||||
private LinearLayout viewpager_ll_hint;
|
||||
private TextView viewpager_tv_failure;
|
||||
|
||||
public AutoScrollViewpagerViewHolder(View v) {
|
||||
super(v);
|
||||
viewpager_tv_failure = (TextView) v.findViewById(R.id.viewpager_tv_failure);
|
||||
viewpager_tv_failure.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
isSlideError = false;
|
||||
notifyItemChanged(0);
|
||||
initSlide(false);
|
||||
}
|
||||
});
|
||||
viewpager_ll_hint = (LinearLayout) v.findViewById(R.id.viewpager_ll_hint);
|
||||
viewPager = (AutoScrollViewPager) v.findViewById(R.id.view_pager);
|
||||
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
for (int i = 0, size = viewpager_ll_hint.getChildCount(); i < size; i++) {
|
||||
if (i == position % size) {
|
||||
((ImageView) viewpager_ll_hint.getChildAt(i))
|
||||
.setImageResource(R.drawable.oval_hint_up);
|
||||
} else {
|
||||
((ImageView) viewpager_ll_hint.getChildAt(i))
|
||||
.setImageResource(R.drawable.oval_hint_dn);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrolled(int position,
|
||||
float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
// 解决viewpager和SwipeRefreshLayout滑动冲突
|
||||
if (state == ViewPager.SCROLL_STATE_DRAGGING) {
|
||||
game_swipe_refresh.setEnabled(false);
|
||||
} else {
|
||||
game_swipe_refresh.setEnabled(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
autoScrollViewPager = viewPager;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void initFooterViewHolder(FooterViewHolder holder) {
|
||||
if (isNetworkError) {
|
||||
holder.lineLeft.setVisibility(View.GONE);
|
||||
@ -981,7 +963,7 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
initSubjectList();
|
||||
}
|
||||
});
|
||||
} else if (isRemove) {
|
||||
} else if (isOver) {
|
||||
holder.lineLeft.setVisibility(View.VISIBLE);
|
||||
holder.lineRight.setVisibility(View.VISIBLE);
|
||||
holder.loading.setVisibility(View.GONE);
|
||||
@ -997,15 +979,13 @@ public class Game1FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
}
|
||||
|
||||
public void startAutoScroll() {
|
||||
if (autoScrollViewPager != null) {
|
||||
autoScrollViewPager.startAutoScroll();
|
||||
}
|
||||
isAutoScroll = true;
|
||||
notifyItemChanged(0);
|
||||
}
|
||||
|
||||
public void stopAutoScroll() {
|
||||
if (autoScrollViewPager != null) {
|
||||
autoScrollViewPager.stopAutoScroll();
|
||||
}
|
||||
isAutoScroll = false;
|
||||
notifyItemChanged(0);
|
||||
}
|
||||
|
||||
public List<GameEntity> getPluginList() {
|
||||
|
||||
@ -239,11 +239,11 @@ public class Game2FragmentAdapter extends RecyclerView.Adapter<RecyclerView.View
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
||||
if (viewType == ItemViewType.COLUMN_HEADER) {
|
||||
View view = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.home_game_head_item, parent, false);
|
||||
.inflate(R.layout.game_head_item, parent, false);
|
||||
return new GameHeadViewHolder(view);
|
||||
} else if (viewType == ItemViewType.GAME_IMAGE) {
|
||||
View view = LayoutInflater.from(parent.getContext())
|
||||
.inflate(R.layout.home_game_image_item, parent, false);
|
||||
.inflate(R.layout.game_image_item, parent, false);
|
||||
return new GameImageViewHolder(view);
|
||||
} else if (viewType == ItemViewType.GAME_TEST) {
|
||||
View view = LayoutInflater.from(parent.getContext())
|
||||
|
||||
Reference in New Issue
Block a user