diff --git a/app/src/main/java/com/gh/common/util/MessageShareUtils.java b/app/src/main/java/com/gh/common/util/MessageShareUtils.java index 6964e69613..f991fd6e9e 100644 --- a/app/src/main/java/com/gh/common/util/MessageShareUtils.java +++ b/app/src/main/java/com/gh/common/util/MessageShareUtils.java @@ -265,8 +265,6 @@ public class MessageShareUtils { private void wechatSahre(){ Utils.toast(context,"分享跳转中..."); - api = WXAPIFactory.createWXAPI(context, "wx3ffd0785fad18111"); //初始化微信分享 - WXImageObject imgObj = new WXImageObject(); imgObj.setImagePath(context.getExternalCacheDir().getPath() + "/ShareImg/" + picName); WXMediaMessage msg = new WXMediaMessage(); diff --git a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java index 3ce685ad84..7f865f6dac 100644 --- a/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MessageDetailActivity.java @@ -1,24 +1,29 @@ package com.gh.gamecenter; +import android.app.Dialog; import android.content.Context; import android.content.SharedPreferences; +import android.graphics.Rect; +import android.os.Build; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.text.Editable; import android.text.TextWatcher; import android.view.View; +import android.view.ViewTreeObserver; import android.view.inputmethod.InputMethodManager; import android.widget.EditText; import android.widget.RelativeLayout; +import android.widget.ScrollView; import android.widget.TextView; -import android.widget.Toast; import com.android.volley.VolleyError; import com.android.volley.toolbox.DiskBasedCache; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.BaseActivity; import com.gh.common.constant.Config; +import com.gh.common.util.DialogUtils; import com.gh.common.util.GzipUtils; import com.gh.common.util.PostCommentUtils; import com.gh.common.util.TimestampUtils; @@ -36,8 +41,6 @@ import org.json.JSONException; import org.json.JSONObject; import java.io.File; -import java.util.Date; -import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; @@ -48,7 +51,7 @@ import butterknife.OnTouch; * Created by khy on 2016/11/8. * 消息详情界面 */ -public class MessageDetailActivity extends BaseActivity { +public class MessageDetailActivity extends BaseActivity implements MessageDetailAdapter.OnCommentCallBackListener{ @BindView(R.id.message_detail_rv) RecyclerView mMessageDetailRv; @BindView(R.id.message_detail_user_rl) RelativeLayout mMessageDetailUserRl; @@ -58,6 +61,8 @@ public class MessageDetailActivity extends BaseActivity { @BindView(R.id.comment_send) TextView mMessageDetailCommentSend; @BindView(R.id.message_detail_comment_et) EditText mMessageDetailEt; @BindView(R.id.message_detail_comment_hint) TextView mMessageDetailCommentHint; + @BindView(R.id.message_detail_sv) ScrollView mMessageDetailSv; + @BindView(R.id.message_detail_hint_line) View mMessageDetailLine; private LinearLayoutManager mLayoutManager; @@ -65,7 +70,7 @@ public class MessageDetailActivity extends BaseActivity { private SharedPreferences sp; - private Toast mToast; + private Dialog mSendingDialog; private CommentDao mCommentDao; @@ -82,7 +87,7 @@ public class MessageDetailActivity extends BaseActivity { mCommentDao = new CommentDao(this); - adapter = new MessageDetailAdapter(this, mCommentDao); + adapter = new MessageDetailAdapter(this, mCommentDao, mMessageDetailRv); mLayoutManager = new LinearLayoutManager(this); mMessageDetailRv.setLayoutManager(mLayoutManager); mMessageDetailRv.setAdapter(adapter); @@ -126,6 +131,22 @@ public class MessageDetailActivity extends BaseActivity { mMessageDetailUserNameTv.setText(sp.getString("user_name", "光环用户")); } + if (Build.VERSION.SDK_INT >= 19) { + //解决透明沉浸栏和软键盘冲突(重置ScrollView高度) + final View decorView=getWindow().getDecorView(); + decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { + @Override + public void onGlobalLayout() { + Rect rect=new Rect(); + decorView.getWindowVisibleDisplayFrame(rect); + int screenHeight = decorView.getRootView().getHeight(); + int heightDifference = screenHeight-rect.bottom;//计算软键盘占有的高度 = 屏幕高度 - 视图可见高度 + RelativeLayout.LayoutParams layoutParams= (RelativeLayout.LayoutParams) mMessageDetailSv.getLayoutParams(); + layoutParams.setMargins(0,0,0,heightDifference);//设置ScrollView的marginBottom的值为软键盘占有的高度即可 + mMessageDetailSv.requestLayout(); + } + }); + } } @@ -158,22 +179,12 @@ public class MessageDetailActivity extends BaseActivity { @OnClick(R.id.message_detail_comment_hint) public void OnHintClikListener() { - mMessageDetailCommentHint.setVisibility(View.GONE); - mMessageDetailCommentRl.setVisibility(View.VISIBLE); - mMessageDetailUserRl.setVisibility(View.VISIBLE); - mMessageDetailEt.setFocusable(true); - mMessageDetailEt.setFocusableInTouchMode(true); - mMessageDetailEt.requestFocus(); setSoftInput(true); } @OnTouch(R.id.message_detail_rv) public boolean OnRecyclerTouchListener() { if (mMessageDetailCommentRl.getVisibility() == View.VISIBLE) { - mMessageDetailCommentHint.setVisibility(View.VISIBLE); - mMessageDetailCommentRl.setVisibility(View.GONE); - mMessageDetailUserRl.setVisibility(View.GONE); - mMessageDetailEt.setText(""); setSoftInput(false); } return false; @@ -187,8 +198,8 @@ public class MessageDetailActivity extends BaseActivity { Utils.toast(MessageDetailActivity.this, "评论内容不能为空!"); return; } - mToast = Toast.makeText(MessageDetailActivity.this, "正在提交评论", Toast.LENGTH_SHORT); - mToast.show(); + + mSendingDialog = DialogUtils.showWaitDialog(this, "正在提交"); JSONObject jsonObject = new JSONObject(); try { @@ -202,11 +213,8 @@ public class MessageDetailActivity extends BaseActivity { , jsonObject.toString(), MessageDetailActivity.this, new PostCommentUtils.PostCommentListener() { @Override public void postSucced(JSONObject response) { - mToast.cancel(); + mSendingDialog.dismiss(); Utils.toast(MessageDetailActivity.this, "发表成功"); - mMessageDetailCommentHint.setVisibility(View.VISIBLE); - mMessageDetailCommentRl.setVisibility(View.GONE); - mMessageDetailUserRl.setVisibility(View.GONE); mMessageDetailEt.setText(""); setSoftInput(false); @@ -241,9 +249,10 @@ public class MessageDetailActivity extends BaseActivity { @Override public void postFailed(VolleyError error) { - mToast.cancel(); + mSendingDialog.dismiss(); if (error.networkResponse == null) { + Utils.log("评论错误返回为空======"); return; } @@ -257,9 +266,6 @@ public class MessageDetailActivity extends BaseActivity { Utils.toast(MessageDetailActivity.this, "账号状态异常,暂时无法发表评论"); } else if ("article blocked".equals(detail)) { Utils.toast(MessageDetailActivity.this, "文章异常,无法发表评论"); - mMessageDetailCommentHint.setVisibility(View.VISIBLE); - mMessageDetailCommentRl.setVisibility(View.GONE); - mMessageDetailUserRl.setVisibility(View.GONE); setSoftInput(false); } else if ("illegal".equals(detail)) { Utils.toast(MessageDetailActivity.this, "评论内容可能包括敏感信息,请修改后再发表"); @@ -308,9 +314,26 @@ public class MessageDetailActivity extends BaseActivity { if (isShow){ imm.showSoftInputFromInputMethod(mMessageDetailEt.getWindowToken(), 0); imm.toggleSoftInputFromWindow(mMessageDetailEt.getWindowToken(), 0, InputMethodManager.HIDE_NOT_ALWAYS); + mMessageDetailCommentHint.setVisibility(View.GONE); + mMessageDetailLine.setVisibility(View.GONE); + mMessageDetailCommentRl.setVisibility(View.VISIBLE); + mMessageDetailUserRl.setVisibility(View.VISIBLE); + mMessageDetailEt.setFocusable(true); + mMessageDetailEt.setFocusableInTouchMode(true); + mMessageDetailEt.requestFocus(); + } else { imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); + mMessageDetailCommentHint.setVisibility(View.VISIBLE); + mMessageDetailLine.setVisibility(View.VISIBLE); + mMessageDetailCommentRl.setVisibility(View.GONE); + mMessageDetailUserRl.setVisibility(View.GONE); } } + @Override + public void showSoftInput() { + setSoftInput(true); + } + } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java index 7e9774fde2..31c377ac32 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/MessageDetailAdapter.java @@ -6,6 +6,7 @@ import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.widget.RecyclerView; import android.text.Html; +import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -62,6 +63,8 @@ import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Timer; +import java.util.TimerTask; /** * Created by khy on 2016/11/8. @@ -73,6 +76,10 @@ public class MessageDetailAdapter extends RecyclerView.Adapter mHotCommentList; private List mNormalCommentList; @@ -87,14 +94,18 @@ public class MessageDetailAdapter extends RecyclerView.Adapter(); mNormalCommentList = new ArrayList<>(); mConcernEntity = (ConcernEntity) AppController.get("ConcernEntity", true); - addHotComment(0); -} + if (mConcernEntity.getCommentnum() != 0) { + addHotComment(0); + } else { + notifyItemChanged(1); + mCallBackListener.showSoftInput(); + } + } private void addHotComment(int offset) { @@ -229,6 +246,16 @@ public class MessageDetailAdapter extends RecyclerView.Adapter 10) { + viewHolder.hint.setText("没有更多评论啦"); + } else { + viewHolder.hint.setText(""); + } viewHolder.loading.setVisibility(View.GONE); } @@ -398,6 +442,13 @@ public class MessageDetailAdapter extends RecyclerView.Adapter + android:layout_marginBottom="45dp"/> + + android:layout_above="@+id/message_detail_sv"/> - - - + android:background="@android:color/white"> + + + + + + + + + - + - + + + android:background="@android:color/white" + android:layout_alignParentBottom="true" + android:gravity="center_vertical" + android:visibility="visible" /> - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_sharecard.xml b/app/src/main/res/layout/activity_sharecard.xml index c8eab5024d..7cee859d86 100644 --- a/app/src/main/res/layout/activity_sharecard.xml +++ b/app/src/main/res/layout/activity_sharecard.xml @@ -23,7 +23,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" - android:background="#f0f0f0"> + android:background="#ffffff"> + android:paddingTop="10dp" + android:paddingBottom="20dp"/> \ No newline at end of file