diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d845184337..1740f3259d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -176,6 +176,9 @@
android:name = "com.gh.gamecenter.VoteActivity"
android:screenOrientation = "portrait"
android:windowSoftInputMode = "stateAlwaysHidden|adjustResize" />
+
diff --git a/app/src/main/java/com/gh/common/util/CommentUtils.java b/app/src/main/java/com/gh/common/util/CommentUtils.java
index 62a7409192..451fd5aa34 100644
--- a/app/src/main/java/com/gh/common/util/CommentUtils.java
+++ b/app/src/main/java/com/gh/common/util/CommentUtils.java
@@ -5,7 +5,9 @@ import android.content.Context;
import android.graphics.Color;
import android.support.v4.content.ContextCompat;
import android.text.TextUtils;
+import android.view.Gravity;
import android.view.View;
+import android.view.ViewGroup;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.TextView;
@@ -90,8 +92,6 @@ public class CommentUtils {
for (String s : dialogType) {
final TextView reportTv = new TextView(mContext);
- reportTv.setPadding(DisplayUtils.dip2px(mContext, 20), DisplayUtils.dip2px(mContext, 12),
- 0, DisplayUtils.dip2px(mContext, 12));
reportTv.setText(s);
reportTv.setTextSize(17);
reportTv.setTextColor(ContextCompat.getColor(mContext, R.color.title));
@@ -99,6 +99,8 @@ public class CommentUtils {
int widthPixels = mContext.getResources().getDisplayMetrics().widthPixels;
reportTv.setLayoutParams(new LinearLayout.LayoutParams((widthPixels * 9) / 10,
LinearLayout.LayoutParams.WRAP_CONTENT));
+ reportTv.setPadding(DisplayUtils.dip2px(mContext, 20), DisplayUtils.dip2px(mContext, 12),
+ 0, DisplayUtils.dip2px(mContext, 12));
container.addView(reportTv);
reportTv.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java
index 86c7a4e16d..77ede15f1e 100644
--- a/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/KaiFuActivity.java
@@ -136,8 +136,11 @@ public class KaiFuActivity extends BaseActivity implements KaiFuDialogAdapter.On
smoothMove = false;
int n = mMovePosition - layoutManager.findFirstVisibleItemPosition();
if (0 <= n && n < mRecyclerView.getChildCount()) {
- int top = layoutManager.findViewByPosition(n).getTop();
- mRecyclerView.smoothScrollBy(0, top);
+ View view = layoutManager.findViewByPosition(n);
+ if (view!= null) {
+ int top = view.getTop();
+ mRecyclerView.smoothScrollBy(0, top);
+ }
}
}
diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
index c256fe673f..7f1bd70f05 100644
--- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java
@@ -315,8 +315,6 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt
for (String s : dialogType) {
final TextView reportTv = new TextView(SuggestionActivity.this);
- reportTv.setPadding(DisplayUtils.dip2px(SuggestionActivity.this, 20), DisplayUtils.dip2px(SuggestionActivity.this, 12),
- 0, DisplayUtils.dip2px(SuggestionActivity.this, 12));
reportTv.setText(s);
reportTv.setTextSize(17);
reportTv.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.title));
@@ -324,6 +322,8 @@ public class SuggestionActivity extends BaseActivity implements SuggestTypeAdapt
int widthPixels = getResources().getDisplayMetrics().widthPixels;
reportTv.setLayoutParams(new LinearLayout.LayoutParams((widthPixels * 9) / 10,
LinearLayout.LayoutParams.WRAP_CONTENT));
+ reportTv.setPadding(DisplayUtils.dip2px(SuggestionActivity.this, 20), DisplayUtils.dip2px(SuggestionActivity.this, 12),
+ 0, DisplayUtils.dip2px(SuggestionActivity.this, 12));
container.addView(reportTv);
reportTv.setOnClickListener(new View.OnClickListener() {
diff --git a/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java b/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
new file mode 100644
index 0000000000..16de6fac3c
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/ToolBoxActivity.java
@@ -0,0 +1,122 @@
+package com.gh.gamecenter;
+
+import android.os.Bundle;
+import android.support.v4.widget.SwipeRefreshLayout;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import com.gc.materialdesign.views.ProgressBarCircularIndeterminate;
+import com.gh.base.BaseActivity;
+import com.gh.common.view.VerticalItemDecoration;
+import com.gh.gamecenter.adapter.ToolBoxRvAdapter;
+
+import butterknife.BindView;
+import butterknife.OnClick;
+
+/**
+ * Created by khy on 24/05/17.
+ */
+
+public class ToolBoxActivity extends BaseActivity implements SwipeRefreshLayout.OnRefreshListener{
+
+ @BindView(R.id.toolbox_rv)
+ RecyclerView mToolboxRv;
+ @BindView(R.id.reuse_none_data)
+ LinearLayout mNoneData;
+ @BindView(R.id.reuse_no_connection)
+ LinearLayout mNoConnection;
+ @BindView(R.id.toolbox_refresh)
+ SwipeRefreshLayout mRefresh;
+ @BindView(R.id.toolbox_loading)
+ ProgressBarCircularIndeterminate mLoading;
+
+ private LinearLayoutManager mLayoutManager;
+ private ToolBoxRvAdapter mRvAdapter;
+
+ Runnable runnable = new Runnable() {
+ @Override
+ public void run() {
+ mRvAdapter = new ToolBoxRvAdapter(ToolBoxActivity.this, ToolBoxActivity.this);
+ mToolboxRv.setAdapter(mRvAdapter);
+ }
+ };
+
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.activity_toolbox;
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ init("工具箱");
+
+ mRefresh.setColorSchemeResources(R.color.theme);
+ mRefresh.setOnRefreshListener(this);
+
+ mLayoutManager = new LinearLayoutManager(this);
+ mToolboxRv.setLayoutManager(mLayoutManager);
+ mRvAdapter = new ToolBoxRvAdapter(this, this);
+ mToolboxRv.addItemDecoration(new VerticalItemDecoration(this, 8, true));
+ mToolboxRv.setAdapter(mRvAdapter);
+
+ mToolboxRv.addOnScrollListener(new RecyclerView.OnScrollListener() {
+ @Override
+ public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
+ super.onScrollStateChanged(recyclerView, newState);
+ if (newState == RecyclerView.SCROLL_STATE_IDLE
+ && mLayoutManager.findLastVisibleItemPosition() + 1 == mRvAdapter.getItemCount()) {
+ if (!mRvAdapter.isOver() && !mRvAdapter.isLoading() && !mRvAdapter.isNetworkError()) {
+// mRvAdapter.loadData();
+ }
+ }
+ }
+ });
+ }
+
+ @OnClick(R.id.reuse_no_connection)
+ public void onClick() {
+ mLoading.setVisibility(View.VISIBLE);
+ mNoConnection.setVisibility(View.GONE);
+ mLoading.postDelayed(runnable, 1000);
+ }
+
+ @Override
+ public void loadDone() {
+ super.loadDone();
+ mRefresh.setRefreshing(false);
+ mNoneData.setVisibility(View.GONE);
+ mNoConnection.setVisibility(View.GONE);
+ mToolboxRv.setVisibility(View.VISIBLE);
+ mLoading.setVisibility(View.GONE);
+
+ }
+
+ @Override
+ public void loadEmpty() {
+ super.loadEmpty();
+ mRefresh.setRefreshing(false);
+ mNoneData.setVisibility(View.VISIBLE);
+ mNoConnection.setVisibility(View.GONE);
+ mToolboxRv.setVisibility(View.GONE);
+ mLoading.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void loadError() {
+ super.loadError();
+ mRefresh.setRefreshing(false);
+ mNoneData.setVisibility(View.GONE);
+ mNoConnection.setVisibility(View.VISIBLE);
+ mToolboxRv.setVisibility(View.GONE);
+ mLoading.setVisibility(View.GONE);
+ }
+
+ @Override
+ public void onRefresh() {
+ mRefresh.postDelayed(runnable, 1000);
+ }
+}
diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java
index f969af475d..614007ff69 100644
--- a/app/src/main/java/com/gh/gamecenter/WebActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java
@@ -13,27 +13,37 @@ import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
+import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.gh.base.BaseActivity;
+import com.gh.common.util.DataCollectionUtils;
+import com.gh.common.util.DataUtils;
import com.gh.common.util.DisplayUtils;
import com.gh.common.util.EntranceUtils;
+import com.gh.common.util.ShareUtils;
import com.gh.gamecenter.entity.CommentnumEntity;
import com.gh.gamecenter.retrofit.RetrofitManager;
+import com.jakewharton.rxbinding.view.RxView;
+import com.tencent.tauth.Tencent;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
import butterknife.BindView;
import butterknife.OnClick;
import rx.android.schedulers.AndroidSchedulers;
+import rx.functions.Action1;
import rx.schedulers.Schedulers;
/**
* Created by khy on 2016/10/18.
*/
-public class WebActivity extends BaseActivity {
+public class WebActivity extends BaseActivity implements View.OnClickListener{
@BindView(R.id.news_webview)
WebView webView;
@@ -46,6 +56,8 @@ public class WebActivity extends BaseActivity {
@BindView(R.id.actionbar_tv_title)
TextView newsTitle;
+ private ImageView mShareIv;
+
private String newsId;
private int commentNum;
@@ -68,6 +80,9 @@ public class WebActivity extends BaseActivity {
// 刷新评论数
if (resultCode == 1001 && progressBar.getVisibility() == View.VISIBLE && newsId != null) {
webComment.setText("查看评论(" + data.getExtras().getInt("commentNum") + ")");
+ } else if (requestCode == com.tencent.connect.common.Constants.REQUEST_QQ_SHARE
+ || requestCode == com.tencent.connect.common.Constants.REQUEST_QZONE_SHARE) {
+ Tencent.onActivityResultData(requestCode, resultCode, data, ShareUtils.getInstance(this).QqShareListener);
}
}
@@ -86,6 +101,24 @@ public class WebActivity extends BaseActivity {
newsId = getIntent().getStringExtra("newsId");
}
+ if (false) {
+
+ mShareIv = new ImageView(this);
+ mShareIv.setImageResource(R.drawable.ic_share);
+ mShareIv.setOnClickListener(this);
+ mShareIv.setVisibility(View.GONE);
+ mShareIv.setPadding(DisplayUtils.dip2px(this, 13), DisplayUtils.dip2px(this, 11)
+ , DisplayUtils.dip2px(this, 11), DisplayUtils.dip2px(this, 13));
+ RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
+ DisplayUtils.dip2px(this, 48), DisplayUtils.dip2px(this, 48));
+ params.addRule(RelativeLayout.CENTER_VERTICAL);
+ params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
+ RelativeLayout reuse_actionbar = (RelativeLayout) mContentView.findViewById(
+ R.id.reuse_actionbar);
+ reuse_actionbar.addView(mShareIv, params);
+ }
+
+
init(webTitle);
webView.loadUrl(webUrl);
@@ -176,13 +209,31 @@ public class WebActivity extends BaseActivity {
});
}
- @OnClick(R.id.web_comment)
- public void OnCommentClickListener() {
- Intent intent = new Intent(this, MessageDetailActivity.class);
- intent.putExtra("newsId", newsId);
- intent.putExtra("commentNum", commentNum);
- intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "+(光环浏览器)");
- startActivityForResult(intent, 1001);
+ @Override
+ public void onClick(View v) {
+ if (v == webComment) {
+ Intent intent = new Intent(this, MessageDetailActivity.class);
+ intent.putExtra("newsId", newsId);
+ intent.putExtra("commentNum", commentNum);
+ intent.putExtra(EntranceUtils.KEY_ENTRANCE, mEntrance + "+(光环浏览器)");
+ startActivityForResult(intent, 1001);
+ } else if (v == mShareIv) {
+// RxView.clicks(mShareIv)
+// .throttleFirst(1, TimeUnit.SECONDS)
+// .subscribe(new Action1() {
+// @Override
+// public void call(Void aVoid) {
+// Map kv = new HashMap<>();
+// kv.put("点击", "分享");
+// DataUtils.onEvent(GameDetailActivity.this, "插件数据", mGameEntity.getName(), kv);
+//
+// DataCollectionUtils.uploadClick(GameDetailActivity.this, "分享", "游戏详情", mGameEntity.getName());
+//
+// String url = "http://www.ghzhushou.com/game/" + shareCode;
+// showShare(url, mGameEntity.getName(), mGameEntity.getIcon(), null, mGameEntity.getTag());
+// }
+// });
+ }
}
@Override
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java
index d4980a191c..c06ae5ed2b 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/KaiFuAdapter.java
@@ -358,6 +358,7 @@ public class KaiFuAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder, final int position) {
+ viewHolder.initItemPadding();
if (mIsNetworkError) {
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java
new file mode 100644
index 0000000000..0e8f5fefe6
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/adapter/ToolBoxRvAdapter.java
@@ -0,0 +1,96 @@
+package com.gh.gamecenter.adapter;
+
+import android.content.Context;
+import android.support.v7.widget.RecyclerView;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.gh.common.constant.ItemViewType;
+import com.gh.gamecenter.R;
+import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
+import com.gh.gamecenter.adapter.viewholder.ToolBoxViewHolder;
+import com.gh.gamecenter.listener.OnCallBackListener;
+
+/**
+ * Created by khy on 24/05/17.
+ */
+
+public class ToolBoxRvAdapter extends BaseRecyclerAdapter {
+
+ private OnCallBackListener mCallBackListener;
+
+ private boolean mIsLoading;
+ private boolean mIsOver;
+ private boolean mIsNetworkError;
+
+ public ToolBoxRvAdapter(Context context, OnCallBackListener listener) {
+ super(context);
+ mCallBackListener = listener;
+
+ loadData(0);
+ }
+
+ public void loadData(int offset) {
+
+ }
+
+ @Override
+ public int getItemViewType(int position) {
+ if (position == getItemCount() - 1) {
+ return 0;
+ } else {
+ return 1;
+ }
+ }
+
+ @Override
+ public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+ if (viewType == 0) {
+ View view = LayoutInflater.from(mContext).inflate(R.layout.refresh_footerview, parent, false);
+ return new FooterViewHolder(view);
+ } else {
+ View view = LayoutInflater.from(mContext).inflate(R.layout.toolbox_item, parent, false);
+ return new ToolBoxViewHolder(view);
+ }
+
+ }
+
+ @Override
+ public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+ if (holder instanceof ToolBoxViewHolder) {
+ ToolBoxViewHolder viewHolder = (ToolBoxViewHolder) holder;
+ initToolBoxViewHolder(viewHolder);
+ } else if (holder instanceof FooterViewHolder) {
+ FooterViewHolder viewHolder = (FooterViewHolder) holder;
+ viewHolder.initFooterViewHolder(mIsNetworkError, mIsOver
+ , new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+// loadData();
+ }
+ });
+ }
+ }
+
+ @Override
+ public int getItemCount() {
+ return 10;
+ }
+
+ private void initToolBoxViewHolder(ToolBoxViewHolder viewHolder) {
+
+ }
+
+ public boolean isOver() {
+ return mIsOver;
+ }
+
+ public boolean isLoading() {
+ return mIsLoading;
+ }
+
+ public boolean isNetworkError() {
+ return mIsNetworkError;
+ }
+}
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
index 21d1b77c2e..71c9954e87 100644
--- a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/FooterViewHolder.java
@@ -29,11 +29,20 @@ public class FooterViewHolder extends ViewHolder {
@BindView(R.id.footerview_line_right)
public View lineRight;
+ private View mView;
+
public FooterViewHolder(View itemView) {
super(itemView);
+ mView = itemView;
ButterKnife.bind(this, itemView);
}
+ // 减去recyclerView item间隔(个别列表间隔很大)
+ public void initItemPadding() {
+ mView.setPadding(0, 0, 0, 0);
+ }
+
+
public void initFooterViewHolder(boolean mIsNetworkError, boolean mIsOver,
OnClickListener onClickListener) {
if (mIsNetworkError) {
diff --git a/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java
new file mode 100644
index 0000000000..73e886e6be
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/adapter/viewholder/ToolBoxViewHolder.java
@@ -0,0 +1,29 @@
+package com.gh.gamecenter.adapter.viewholder;
+
+import android.support.v7.widget.RecyclerView;
+import android.view.View;
+import android.widget.TextView;
+
+import com.facebook.drawee.view.SimpleDraweeView;
+import com.gh.gamecenter.R;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+/**
+ * Created by khy on 24/05/17.
+ */
+
+public class ToolBoxViewHolder extends RecyclerView.ViewHolder {
+ @BindView(R.id.toolbox_item_game_thumb)
+ public SimpleDraweeView mGameThumb;
+ @BindView(R.id.toolbox_item_title)
+ public TextView mTitle;
+ @BindView(R.id.toolbox_item_des)
+ public TextView mDes;
+
+ public ToolBoxViewHolder(View itemView) {
+ super(itemView);
+ ButterKnife.bind(this, itemView);
+ }
+}
diff --git a/app/src/main/java/com/gh/gamecenter/entity/ToolBoxEntity.java b/app/src/main/java/com/gh/gamecenter/entity/ToolBoxEntity.java
new file mode 100644
index 0000000000..925b80c16f
--- /dev/null
+++ b/app/src/main/java/com/gh/gamecenter/entity/ToolBoxEntity.java
@@ -0,0 +1,8 @@
+package com.gh.gamecenter.entity;
+
+/**
+ * Created by khy on 24/05/17.
+ */
+
+public class ToolBoxEntity {
+}
diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java
index a48df495f3..adaaac4be0 100644
--- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.java
@@ -45,6 +45,7 @@ import com.gh.gamecenter.NewsDetailActivity;
import com.gh.gamecenter.PluginActivity;
import com.gh.gamecenter.R;
import com.gh.gamecenter.SubjectActivity;
+import com.gh.gamecenter.ToolBoxActivity;
import com.gh.gamecenter.adapter.BaseRecyclerAdapter;
import com.gh.gamecenter.adapter.ImagePagerAdapter;
import com.gh.gamecenter.adapter.viewholder.FooterViewHolder;
@@ -692,6 +693,9 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter {
subjectName.setText(mSubjectDigestList.get(i).getName());
}
+ if (i == 3) {
+ subjectName.setText("工具箱");
+ }
if (i == 4) {
subjectName.setText("开服表");
subjectIcon.setImageURI(Uri.parse("res:///" + R.drawable.home_entrance_kaifu));
@@ -701,13 +705,17 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter {
contentView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if (finalI < 4 && !mIsSubjectDigestError && mSubjectDigestList.size() > finalI) {
+ if (finalI < 3 && !mIsSubjectDigestError && mSubjectDigestList.size() > finalI) {
SubjectDigestEntity entity = mSubjectDigestList.get(finalI);
SubjectActivity.startSubjectActivity(mContext, entity.getColumnId(), entity.getColumnName(), entity.getOrder()
, StringUtils.buildString("(游戏-专题:", entity.getName(), "[1-", String.valueOf(finalI + 1), "]", ")"));
DataCollectionUtils.uploadPosition(mContext, "游戏", String.valueOf(finalI + 1),
mSubjectDigestList.get(finalI).getName());
+ } else if (finalI == 3) {
+ Intent intent = new Intent(mContext, ToolBoxActivity.class);
+ mContext.startActivity(intent);
+
} else if (finalI == 4) {
Intent intent = new Intent(mContext, KaiFuActivity.class);
intent.putExtra(EntranceUtils.KEY_ENTRANCE, "(游戏-专题:开服表[1-6])");
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailPluginAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailPluginAdapter.java
index 26d0249692..614e17b649 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailPluginAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailPluginAdapter.java
@@ -10,6 +10,7 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
+import com.gh.common.util.Utils;
import com.gh.gamecenter.R;
import com.gh.gamecenter.adapter.BaseRecyclerAdapter;
import com.gh.gamecenter.entity.TagEntity;
diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java
index a6779e0dc1..611641c04b 100644
--- a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java
@@ -41,6 +41,7 @@ import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.GameDetailEntity;
import com.gh.gamecenter.entity.GameEntity;
import com.gh.gamecenter.entity.NewsEntity;
+import com.gh.gamecenter.entity.TagEntity;
import com.gh.gamecenter.entity.TipsEntity;
import com.gh.gamecenter.manager.GameManager;
import com.gh.gamecenter.retrofit.Response;
@@ -415,21 +416,27 @@ public class XinXiAdapter extends BaseRecyclerAdapter {
private void initPluginViewHolder(final GameDetailPluginViewHolder viewHolder) {
viewHolder.gamedetailPluginLine.setVisibility(View.VISIBLE);
final TipsEntity tips = mGameDetailEntity.getTips();
+ ArrayList tag = mGameDetailEntity.getTag();
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(mContext);
GridLayoutManager layoutManager = new GridLayoutManager(mContext, 3);
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
- if (tips != null) {
+ if (!TextUtils.isEmpty(tips.getContent())) {
return position == 0 ? 3 : 1;
} else {
- return 3;
+ return 1;
}
}
});
+
+ if (tag == null || mGameDetailEntity.getTag().size() == 0) {
+ viewHolder.gamedetailPluginOpen.setVisibility(View.INVISIBLE);
+ }
+
if (isOpenPlugin) {
viewHolder.gameDetailPluginRv.setLayoutManager(linearLayoutManager);
viewHolder.gamedetailPluginOpen.setPadding(0, 0, 0, 0);
@@ -437,7 +444,7 @@ public class XinXiAdapter extends BaseRecyclerAdapter {
} else {
viewHolder.gameDetailPluginRv.setLayoutManager(layoutManager);
}
- viewHolder.gameDetailPluginRv.setAdapter(new GameDetailPluginAdapter(mGameDetailEntity.getTag(), tips, isOpenPlugin, mContext));
+ viewHolder.gameDetailPluginRv.setAdapter(new GameDetailPluginAdapter(tag, tips, isOpenPlugin, mContext));
viewHolder.gamedetailPluginOpen.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java
index cf709a18aa..67b3aadd7d 100644
--- a/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/message/CommentFragmentAdapter.java
@@ -22,10 +22,12 @@ import com.gh.gamecenter.listener.OnCallBackListener;
import com.gh.gamecenter.retrofit.Response;
import com.gh.gamecenter.retrofit.RetrofitManager;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import de.greenrobot.event.EventBus;
+import okhttp3.ResponseBody;
import retrofit2.HttpException;
import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
@@ -92,11 +94,11 @@ public class CommentFragmentAdapter extends BaseRecyclerAdapter {
}
mCommentList.addAll(response);
-// if (!fragment.isHidden() && !fragment.isEverpause()) {
-// notifyItemRangeInserted(mCommentList.size() - response.size(), response.size());
-// } else {
+ if (!fragment.isHidden() && !fragment.isEverpause()) {
+ notifyItemRangeInserted(mCommentList.size() - response.size(), response.size());
+ } else {
notifyDataSetChanged();
-// }
+ }
} else {
isRemove = true;
diff --git a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java
index 854c1503da..e6f273834a 100644
--- a/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/message/KeFuFragmentAdapter.java
@@ -232,6 +232,7 @@ public class KeFuFragmentAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder) {
+ viewHolder.initItemPadding();
if (isNetworkError) {
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
diff --git a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java
index 0c4f9299a6..f868d1d22d 100644
--- a/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java
+++ b/app/src/main/java/com/gh/gamecenter/message/MessageFragment.java
@@ -3,6 +3,7 @@ package com.gh.gamecenter.message;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.util.DisplayMetrics;
import android.view.View;
@@ -232,4 +233,23 @@ public class MessageFragment extends BaseFragment implements ViewPager.OnPageCha
public void onPageScrollStateChanged(int state) {
}
+
+ @Override
+ public void onHiddenChanged(boolean hidden) {
+ super.onHiddenChanged(hidden);
+ FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
+ List list = getChildFragmentManager().getFragments();
+ if (list != null) {
+ if (hidden) {
+ for (Fragment fragment : getChildFragmentManager().getFragments()) {
+ transaction.hide(fragment);
+ }
+ } else {
+ for (Fragment fragment : getChildFragmentManager().getFragments()) {
+ transaction.show(fragment);
+ }
+ }
+ }
+ transaction.commit();
+ }
}
diff --git a/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java
index dbc872b4ee..a85b1206b7 100644
--- a/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/message/NoticeFragmentAdapter.java
@@ -92,11 +92,6 @@ public class NoticeFragmentAdapter extends BaseRecyclerAdapter {
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Response>() {
- @Override
- public void onError(Throwable e) {
- super.onError(e);
- Utils.log("======onError" + e.toString());
- }
@Override
public void onResponse(List response) {
@@ -165,7 +160,6 @@ public class NoticeFragmentAdapter extends BaseRecyclerAdapter {
String ids = new Gson().toJson(mReceiveIds);
- Utils.log("=========ids" + ids);
final RequestBody body = RequestBody.create(MediaType.parse("application/json"), ids);
TokenUtils.getToken(mContext, isCheck)
@@ -182,7 +176,6 @@ public class NoticeFragmentAdapter extends BaseRecyclerAdapter {
public void onResponse(ResponseBody response) {
super.onResponse(response);
mReceiveIds.clear();
- Utils.log("=========ids:: Notice::onResponse");
}
@Override
diff --git a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
index bce79f8786..0214e6f544 100644
--- a/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/news/News1FragmentAdapter.java
@@ -232,6 +232,7 @@ public class News1FragmentAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder) {
+ viewHolder.initItemPadding();
if (isNetworkError) {
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
diff --git a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java
index b1fb940a69..cb6ff2783c 100644
--- a/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/news/News2FragmentAdapter.java
@@ -706,6 +706,7 @@ public class News2FragmentAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder) {
+ viewHolder.initItemPadding();
if (isNetworkError) {
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
diff --git a/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java
index b3cf3d487e..b4276625b0 100644
--- a/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/news/News4FragmentAdapter.java
@@ -235,6 +235,7 @@ public class News4FragmentAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder) {
+ viewHolder.initItemPadding();
if (isNetworkError) {
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java
index 873440dfdc..c6bb157bec 100644
--- a/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java
+++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectAdapter.java
@@ -413,6 +413,7 @@ public class SubjectAdapter extends BaseRecyclerAdapter {
}
private void initFooterViewHolder(FooterViewHolder viewHolder) {
+ viewHolder.initItemPadding();
if (mIsNetworkError) {
viewHolder.loading.setVisibility(View.GONE);
viewHolder.hint.setText("加载失败,点击重试");
diff --git a/app/src/main/res/layout/activity_toolbox.xml b/app/src/main/res/layout/activity_toolbox.xml
new file mode 100644
index 0000000000..8dbab417f9
--- /dev/null
+++ b/app/src/main/res/layout/activity_toolbox.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/toolbox_item.xml b/app/src/main/res/layout/toolbox_item.xml
new file mode 100644
index 0000000000..021be26531
--- /dev/null
+++ b/app/src/main/res/layout/toolbox_item.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file