diff --git a/app/src/main/java/com/gh/common/util/AskLogUtils.java b/app/src/main/java/com/gh/common/util/AskLogUtils.java index 5f38b8baa8..ecc10260d0 100644 --- a/app/src/main/java/com/gh/common/util/AskLogUtils.java +++ b/app/src/main/java/com/gh/common/util/AskLogUtils.java @@ -2,6 +2,7 @@ package com.gh.common.util; import android.content.Context; import android.provider.Settings; +import android.text.TextUtils; import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.ask.entity.Questions; @@ -54,6 +55,8 @@ public class AskLogUtils { } public static void uploadSearch(Context context, String searchKey) { + if (TextUtils.isEmpty(searchKey)) return; + JSONObject object = new JSONObject(); try { object.put("community_id", UserManager.getInstance().getCommunityId(context)); diff --git a/app/src/main/java/com/gh/common/view/TabIndicatorView.java b/app/src/main/java/com/gh/common/view/TabIndicatorView.java index fdf2ceec6f..531f4091f4 100644 --- a/app/src/main/java/com/gh/common/view/TabIndicatorView.java +++ b/app/src/main/java/com/gh/common/view/TabIndicatorView.java @@ -13,6 +13,7 @@ import android.view.View; import android.view.ViewGroup; import android.view.ViewTreeObserver; +import com.gh.common.util.DisplayUtils; import com.gh.gamecenter.R; @@ -20,18 +21,17 @@ import com.gh.gamecenter.R; * Created by khy on 2/12/17. */ -// TODO: 6/12/17 兼容性整理 public class TabIndicatorView extends View implements TabLayout.OnTabSelectedListener, ViewPager.OnPageChangeListener { - private Drawable mIndicatorDrawable; - private TabLayout mTabLayout; private ViewPager mViewPager; - private int mShapeHorizontalSpace; + private int mIndicatorSpace; private int mIndicatorHeight; + private int mIndicatorWidth; + public TabIndicatorView(Context context) { this(context, null); @@ -80,7 +80,7 @@ public class TabIndicatorView extends View implements TabLayout.OnTabSelectedLis //清除Tab background for (int tab = 0; tab < tableLayout.getTabCount(); tab++) { View tabView = getTabViewByPosition(tab); - tabView.setBackgroundResource(0); + if (tabView != null) tabView.setBackgroundResource(0); } } @@ -89,13 +89,28 @@ public class TabIndicatorView extends View implements TabLayout.OnTabSelectedLis viewPager.addOnPageChangeListener(this); } + public void setIndicatorWidth(int width) { + this.mIndicatorWidth = DisplayUtils.dip2px(getContext(), width); + } + + public void setIndicatorSpace(int space) { + this.mIndicatorSpace = DisplayUtils.dip2px(getContext(), space); + } + + private int getIndicatorSpace() { + if (mIndicatorSpace != 0) return mIndicatorSpace; + if (mIndicatorWidth != 0) { + View tag = getTabViewByPosition(0); + if (tag != null) return (tag.getWidth() - mIndicatorWidth) / 2; + } + return 0; + } + @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); - - - Drawable drawable = getResources().getDrawable(R.drawable.ask_tab_indicator_bg); + Drawable drawable = getResources().getDrawable(R.drawable.ask_tab_indicator_bg); // 固定Indicator背景 有需要可以自行更改 drawable.setBounds(l, t, r, b); drawable.draw(canvas); } @@ -105,46 +120,44 @@ public class TabIndicatorView extends View implements TabLayout.OnTabSelectedLis int r; int b; - private Drawable generatePath(int position, float positionOffset) { + private void generatePath(int position, float positionOffset) { RectF range = new RectF(); View tabView = getTabViewByPosition(position); if (tabView == null) - return mIndicatorDrawable; + return; int left, top, right, bottom; left = top = right = bottom = 0; if (positionOffset > 0.f && position < mTabLayout.getTabCount() - 1) { View nextTabView = getTabViewByPosition(position + 1); - left += (int) (nextTabView.getLeft() * positionOffset + tabView.getLeft() * (1.f - positionOffset)); - right += (int) (nextTabView.getRight() * positionOffset + tabView.getRight() * (1.f - positionOffset)); + if (nextTabView != null) { + left += (int) (nextTabView.getLeft() * positionOffset + tabView.getLeft() * (1.f - positionOffset)); + right += (int) (nextTabView.getRight() * positionOffset + tabView.getRight() * (1.f - positionOffset)); + } - - left += mShapeHorizontalSpace; - right -= mShapeHorizontalSpace; + left += getIndicatorSpace(); + right -= getIndicatorSpace(); top = tabView.getTop() + getPaddingTop(); bottom = tabView.getBottom() - getPaddingBottom(); range.set(left, top, right, bottom); } else { - left = tabView.getLeft() + mShapeHorizontalSpace; - right = tabView.getRight() - mShapeHorizontalSpace; + left = tabView.getLeft() + getIndicatorSpace(); + right = tabView.getRight() - getIndicatorSpace(); top = tabView.getTop() + getPaddingTop(); bottom = tabView.getBottom() - getPaddingBottom(); range.set(left, top, right, bottom); - if (range.isEmpty()) - return mIndicatorDrawable; - + return; } r = right; l = left; t = top; b = top + mIndicatorHeight; - return mIndicatorDrawable; } private View getTabViewByPosition(int position) { @@ -165,8 +178,10 @@ public class TabIndicatorView extends View implements TabLayout.OnTabSelectedLis @Override public void onPageSelected(int position) { - if (mTabLayout.getSelectedTabPosition() != position) - mTabLayout.getTabAt(position).select(); + if (mTabLayout.getSelectedTabPosition() != position) { + TabLayout.Tab tab = mTabLayout.getTabAt(position); + if (tab != null) tab.select(); + } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java index 110ae633e6..841f5b318a 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/AskSelectGameAdapter.java @@ -114,7 +114,7 @@ public class AskSelectGameAdapter extends ListAdapter { view = mLayoutInflater.inflate(R.layout.ask_selectgame_footer, parent, false); return new ReuseViewHolder(view, null, mListClickListener); case ItemViewType.ITEM_TOP: - view = mLayoutInflater.inflate(R.layout.area_title_item, parent, false); + view = mLayoutInflater.inflate(R.layout.ask_selectgame_title_item, parent, false); return new ReuseViewHolder(view, null, mListClickListener); } return null; @@ -128,11 +128,10 @@ public class AskSelectGameAdapter extends ListAdapter { AskSelectGameItemViewHolder bodyHolder = (AskSelectGameItemViewHolder) holder; entity = mEntityList.get(position); CommunitiesGameEntity game = entity.getGame(); - if (game != null) { - bodyHolder.mName.setText(game.getName()); - ImageUtils.Companion.display(bodyHolder.mIcon, game.getIcon()); - } + ImageUtils.Companion.display(bodyHolder.mIcon, game.getIcon()); + if ("opened".equals(entity.getStatus())) { + bodyHolder.mName.setText(entity.getName()); bodyHolder.mVoteRl.setVisibility(View.GONE); if (mCommunityId.equals(entity.getId())) { bodyHolder.mSelecthint.setVisibility(View.VISIBLE); @@ -140,6 +139,7 @@ public class AskSelectGameAdapter extends ListAdapter { bodyHolder.mSelecthint.setVisibility(View.GONE); } } else { + bodyHolder.mName.setText(game.getName()); bodyHolder.mSelecthint.setVisibility(View.GONE); bodyHolder.mVoteRl.setVisibility(View.VISIBLE); bodyHolder.mVotecount.setText(entity.getVote() + "票"); diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskAnswerDetailFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskAnswerDetailFragment.java index f07cfd1f36..07a6c9b04d 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskAnswerDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskAnswerDetailFragment.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; +import android.support.v4.content.ContextCompat; import android.view.MenuItem; import android.view.View; import android.webkit.JavascriptInterface; @@ -12,7 +13,6 @@ import android.widget.ImageView; import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; -import com.gh.common.util.AskErrorResponseUtils; import com.gh.common.util.AskLogUtils; import com.gh.common.util.AskUtils; import com.gh.common.util.CheckLoginUtils; @@ -21,6 +21,7 @@ import com.gh.common.util.EntranceUtils; import com.gh.common.util.ImageUtils; import com.gh.common.util.NewsUtils; import com.gh.common.view.RichEditor; +import com.gh.gamecenter.AskQuestionsDetailActivity; import com.gh.gamecenter.NormalActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.ViewImageActivity; @@ -33,6 +34,8 @@ import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.lightgame.config.CommonDebug; +import org.json.JSONObject; + import java.util.ArrayList; import butterknife.BindView; @@ -189,7 +192,7 @@ public class AskAnswerDetailFragment extends NormalFragment { } } - @OnClick({R.id.answer_detail_edit, R.id.answer_detail_vote, R.id.reuse_no_connection}) + @OnClick({R.id.answer_detail_edit, R.id.answer_detail_vote, R.id.reuse_no_connection, R.id.answer_detail_title}) public void onClick(View view) { switch (view.getId()) { case R.id.answer_detail_edit: @@ -200,13 +203,23 @@ public class AskAnswerDetailFragment extends NormalFragment { NormalActivity.startFragmentForResult(getContext(), AnswerEditFragment.class, bundle, ANSWER_PATCH_REQUEST); break; case R.id.answer_detail_vote: - CheckLoginUtils.checkLogin(getContext(), this::postVote); + CheckLoginUtils.checkLogin(getContext(), () -> { + if (!mDetailEntity.getMe().isAnswerVoted()) { + postVote(); + } else { + toast(R.string.ask_vote_hint); + } + }); break; case R.id.reuse_no_connection: mNoConn.setVisibility(View.GONE); mLoading.setVisibility(View.VISIBLE); initData(); break; + case R.id.answer_detail_title: + Intent intent = AskQuestionsDetailActivity.getIntent(getContext(), mDetailEntity.getQuestion().getId(), mEntrance); + startActivity(intent); + break; } } @@ -270,10 +283,13 @@ public class AskAnswerDetailFragment extends NormalFragment { private void initVote() { mVoteCount.setText(getString(R.string.ask_vote_count, AskUtils.voteCountFormat(mDetailEntity.getVote()))); + if (getContext() == null) return; if (mDetailEntity.getMe().isAnswerVoted()) { - mVote.setImageResource(R.drawable.answer_detail_vote); - } else { mVote.setImageResource(R.drawable.answer_detail_unvote); + mVoteCount.setTextColor(ContextCompat.getColor(getContext(), R.color.theme)); + } else { + mVote.setImageResource(R.drawable.answer_detail_vote); + mVoteCount.setTextColor(ContextCompat.getColor(getContext(), R.color.hint)); } } @@ -297,7 +313,23 @@ public class AskAnswerDetailFragment extends NormalFragment { @Override public void onFailure(HttpException e) { super.onFailure(e); - AskErrorResponseUtils.errorResponseControl(getContext(), e); + if (e == null || e.code() != 403) { + toast(R.string.request_failure_normal_hint); + } else { + try { + JSONObject object = new JSONObject(e.response().errorBody().string()); + int errorCode = object.getInt("code"); + if (errorCode == 403008) { + toast(R.string.ask_vote_hint); + MeEntity me = mDetailEntity.getMe(); + me.setAnswerVoted(true); + initVote(); + } + } catch (Exception e1) { + e1.printStackTrace(); + } + } +// AskErrorResponseUtils.errorResponseControl(getContext(), e); } }); } diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java index 7ddb8431aa..9ed58d6af1 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskQuestionsNewFragment.java @@ -37,7 +37,6 @@ import static com.gh.gamecenter.ask.AskFragment.COMMUNITIES_SELECT_REQUEST; * Created by khy on 5/12/17. */ -// todo IllegalStateException: Can't change tag of fragment public class AskQuestionsNewFragment extends BaseFragment { @BindView(R.id.ask_questions_tablayout) @@ -148,6 +147,7 @@ public class AskQuestionsNewFragment extends BaseFragment { mTablayout.setupWithViewPager(mViewpager); mTabIndicatorView.setupWithTabLayout(mTablayout); mTabIndicatorView.setupWithViewPager(mViewpager); + mTabIndicatorView.setIndicatorWidth(45); mTablayout.addTab(mTablayout.newTab()); // 调整顺序 item diff --git a/app/src/main/java/com/gh/gamecenter/ask/AskTabOrderFragment.java b/app/src/main/java/com/gh/gamecenter/ask/AskTabOrderFragment.java index 25f1cef754..5badfe5fea 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/AskTabOrderFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/AskTabOrderFragment.java @@ -112,7 +112,7 @@ public class AskTabOrderFragment extends NormalFragment { @Override public void onSelectedChanged(RecyclerView.ViewHolder viewHolder, int actionState) { if (actionState != ItemTouchHelper.ACTION_STATE_IDLE) { - viewHolder.itemView.setBackgroundColor(Color.LTGRAY); + viewHolder.itemView.setBackgroundColor(Color.parseColor("#f5f5f5")); } if (actionState == ItemTouchHelper.ACTION_STATE_DRAG) { //获取系统震动服务 diff --git a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java index b442f47b7d..dd6b8f4872 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/QuestionsEditFragment.java @@ -82,8 +82,8 @@ public class QuestionsEditFragment extends NormalFragment { private WaitingDialogFragment mPostDialog; private List mTagList = new ArrayList<>(); + private List mAllTagList = new ArrayList<>(); - private int mTagCount; // 非默认Tag数量 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { @@ -191,7 +191,7 @@ public class QuestionsEditFragment extends NormalFragment { @Override public void onResponse(List response) { for (String s : response) { - addTag(s, true); + addTag(s); } } @@ -211,12 +211,6 @@ public class QuestionsEditFragment extends NormalFragment { return; } String content = mContent.getText().toString(); - if (TextUtils.isEmpty(content)) { - toast("内容不能为空"); - mPostDialog.dismissAllowingStateLoss(); - return; - } - QuestionsDetailEntity entity = new QuestionsDetailEntity(); entity.setTitle(title); entity.setTags(mTagList); @@ -257,27 +251,35 @@ public class QuestionsEditFragment extends NormalFragment { }); } - private void addTag(String tag, boolean isDefault) { - if (!isDefault) { - if (mTagCount >= 3) { - toast("最多选择3个标签"); - return; - } - mTagCount++; + private void addTag(String tag) { + if (mAllTagList.contains(tag)) { + toast("标签已经存在"); + return; } + mAllTagList.add(tag); View view = LayoutInflater.from(getContext()).inflate(R.layout.questionsdedit_tag_item, null); TextView tagTv = (TextView) view; tagTv.setText(tag); - if (!isDefault) { - tagTv.setBackgroundResource(R.drawable.comment_border_bg); - tagTv.setTextColor(ContextCompat.getColor(getContext(), R.color.theme)); - } + tagTv.setOnClickListener((v) -> { + TextView tv = (TextView) v; + String text = tv.getText().toString(); + if (mTagList.contains(text)) { + mTagList.remove(text); + tagTv.setBackgroundResource(R.drawable.border_suggest_bg); + tagTv.setTextColor(ContextCompat.getColor(getContext(), R.color.content)); + } else if (mTagList.size() < 3) { + mTagList.add(text); + tagTv.setBackgroundResource(R.drawable.comment_border_bg); + tagTv.setTextColor(ContextCompat.getColor(getContext(), R.color.theme)); + } else { + toast("最多只能选择3个标签~"); + } + }); FlexboxLayout.LayoutParams params = new FlexboxLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.setMargins(0, DisplayUtils.dip2px(getContext(), 5), DisplayUtils.dip2px(getContext(), 15), DisplayUtils.dip2px(getContext(), 5)); tagTv.setLayoutParams(params); mTagFl.addView(view, 0); - mTagList.add(tag); } @Override @@ -314,7 +316,7 @@ public class QuestionsEditFragment extends NormalFragment { Utils.toast(getContext(), getString(R.string.vote_empty_hint)); return true; } - addTag(nickname, false); + addTag(nickname); dialog.dismiss(); return true; } @@ -341,7 +343,7 @@ public class QuestionsEditFragment extends NormalFragment { Utils.toast(getContext(), getString(R.string.vote_empty_hint)); return; } - addTag(nickname, false); + addTag(nickname); dialog.dismiss(); } }); diff --git a/app/src/main/java/com/gh/gamecenter/ask/SelectGameFragment.java b/app/src/main/java/com/gh/gamecenter/ask/SelectGameFragment.java index 1567f50e9b..8c925ab2be 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/SelectGameFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/SelectGameFragment.java @@ -118,7 +118,7 @@ public class SelectGameFragment extends ListFragment { List list = (List) data; AskGameSelectEntity entity = list.get(position); if ("opened".equals(entity.getStatus())) { - UserManager.getInstance().setCommunityId(getContext(), entity.getId(), entity.getGame().getName()); + UserManager.getInstance().setCommunityId(getContext(), entity.getId(), entity.getName()); mAdapter.resetCommunityId(entity.getId()); if (getActivity() != null) getActivity().setResult(Activity.RESULT_OK); } diff --git a/app/src/main/java/com/gh/gamecenter/ask/entity/AskGameSelectEntity.kt b/app/src/main/java/com/gh/gamecenter/ask/entity/AskGameSelectEntity.kt index 4f15b431b1..351ccff0d7 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/entity/AskGameSelectEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/ask/entity/AskGameSelectEntity.kt @@ -10,13 +10,13 @@ class AskGameSelectEntity { @SerializedName("_id") var id: String? = null -// var name: String? = null + var name: String? = null var status: String? = null var vote: Int = 0 - var game: CommunitiesGameEntity? = null + var game: CommunitiesGameEntity = CommunitiesGameEntity() var me: MeEntity? = null } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerFoldFragment.java b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerFoldFragment.java index a2489391f4..300e496a78 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerFoldFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/questionsdetail/AnswerFoldFragment.java @@ -2,9 +2,11 @@ package com.gh.gamecenter.ask.questionsdetail; import android.os.Bundle; import android.support.annotation.Nullable; +import android.support.v7.widget.RecyclerView; import android.view.View; import com.gh.common.util.EntranceUtils; +import com.gh.common.view.VerticalItemDecoration; import com.gh.gamecenter.NormalActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.ask.AskAnswerDetailFragment; @@ -55,6 +57,11 @@ public class AnswerFoldFragment extends ListFragment { super.onCreate(savedInstanceState); } + @Override + protected RecyclerView.ItemDecoration getItemDecoration() { + return new VerticalItemDecoration(getContext(), 8, false); + } + @Override public Observable> provideDataObservable() { return RetrofitManager.getInstance(getContext()).getApi().getQuestionsAnswer(mQuestionsId, true); diff --git a/app/src/main/java/com/gh/gamecenter/ask/search/AskSearchFragment.java b/app/src/main/java/com/gh/gamecenter/ask/search/AskSearchFragment.java index bbd1dad79b..78e72f0be1 100644 --- a/app/src/main/java/com/gh/gamecenter/ask/search/AskSearchFragment.java +++ b/app/src/main/java/com/gh/gamecenter/ask/search/AskSearchFragment.java @@ -2,6 +2,8 @@ package com.gh.gamecenter.ask.search; import android.os.Bundle; import android.os.Message; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import android.text.TextUtils; import android.view.View; @@ -24,6 +26,7 @@ import com.gh.gamecenter.retrofit.RetrofitManager; import java.util.List; +import butterknife.BindView; import butterknife.OnClick; import rx.Observable; @@ -33,6 +36,9 @@ import rx.Observable; public class AskSearchFragment extends ListFragment { + @BindView(R.id.list_ask_hint) + View mSearchHint; + private AskSearchAdapter mAdapter; private String mSearchKey; @@ -52,6 +58,12 @@ public class AskSearchFragment extends ListFragment { return R.layout.fragment_ask_search; } + @Override + public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + mListRefresh.setEnabled(false); + } + @Override public Observable> provideDataObservable() { if (TextUtils.isEmpty(mSearchKey)) return null; @@ -108,6 +120,10 @@ public class AskSearchFragment extends ListFragment { mAdapter.setSearchKey(searchKey); mSearchKey = searchKey; onRefresh(); + + if (mSearchHint.getVisibility() == View.GONE) { + mSearchHint.setVisibility(View.VISIBLE); + } } @Override diff --git a/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java b/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java index ca7422382d..2c83f1ef19 100644 --- a/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java +++ b/app/src/main/java/com/gh/gamecenter/baselist/ListFragment.java @@ -111,7 +111,7 @@ public abstract class ListFragment extends NormalFragment implements mReuseNoConn.setVisibility(View.GONE); mReuseNoData.setVisibility(View.GONE); mListLoading.setVisibility(View.VISIBLE); - mListRv.setVisibility(View.GONE); + mListRv.setVisibility(View.INVISIBLE); mListRefresh.setRefreshing(false); mListViewModel.load(LoadType.REFRESH); @@ -127,7 +127,7 @@ public abstract class ListFragment extends NormalFragment implements public void onLoadDone() { mReuseNoConn.setVisibility(View.GONE); mReuseNoData.setVisibility(View.GONE); - mListLoading.setVisibility(View.GONE); + mListLoading.setVisibility(View.INVISIBLE); mListRv.setVisibility(View.VISIBLE); mListRefresh.setRefreshing(false); } @@ -137,7 +137,7 @@ public abstract class ListFragment extends NormalFragment implements mReuseNoConn.setVisibility(View.VISIBLE); mReuseNoData.setVisibility(View.GONE); mListLoading.setVisibility(View.GONE); - mListRv.setVisibility(View.GONE); + mListRv.setVisibility(View.INVISIBLE); mListRefresh.setRefreshing(false); } @@ -146,7 +146,7 @@ public abstract class ListFragment extends NormalFragment implements mReuseNoConn.setVisibility(View.GONE); mReuseNoData.setVisibility(View.VISIBLE); mListLoading.setVisibility(View.GONE); - mListRv.setVisibility(View.GONE); + mListRv.setVisibility(View.INVISIBLE); mListRefresh.setRefreshing(false); } diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index ee19c8ee45..d929016af3 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -15,6 +15,7 @@ import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.fragment.BaseFragment; +import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; @@ -250,9 +251,11 @@ public class PersonalFragment extends BaseFragment implements Observer { + Bundle bundle = new Bundle(); + bundle.putString(EntranceUtils.KEY_ENTRANCE, "(我的光环)+(我的问答)"); + NormalActivity.startFragment(getContext(), MyAskWrapperFragment.class, bundle); + }); break; } } diff --git a/app/src/main/res/drawable-xxhdpi/ask_search_input_delete.png b/app/src/main/res/drawable-xxhdpi/ask_search_input_delete.png new file mode 100644 index 0000000000..9f656811ad Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ask_search_input_delete.png differ diff --git a/app/src/main/res/layout/ask_questions_hot_item.xml b/app/src/main/res/layout/ask_questions_hot_item.xml index 20c3d59aa8..d8a8a501f9 100644 --- a/app/src/main/res/layout/ask_questions_hot_item.xml +++ b/app/src/main/res/layout/ask_questions_hot_item.xml @@ -36,7 +36,7 @@ android:id = "@+id/ask_item_title" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "10dp" + android:layout_marginTop = "8dp" android:maxLines = "2" android:textColor = "@color/black" android:textSize = "16sp" @@ -47,7 +47,7 @@ android:id = "@+id/ask_item_content" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "10dp" + android:layout_marginTop = "6dp" android:ellipsize = "end" android:maxLines = "3" android:textColor = "@color/title" @@ -59,7 +59,7 @@ style = "@style/frescoStyle" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "10dp" + android:layout_marginTop = "9dp" app:layout_constraintTop_toBottomOf = "@id/ask_item_content" app:viewAspectRatio = "2.3" /> diff --git a/app/src/main/res/layout/ask_search_actionbar.xml b/app/src/main/res/layout/ask_search_actionbar.xml index 9931e2073d..47e1aa1535 100644 --- a/app/src/main/res/layout/ask_search_actionbar.xml +++ b/app/src/main/res/layout/ask_search_actionbar.xml @@ -9,10 +9,8 @@ + android:layout_width = "50dp" + android:layout_height = "match_parent" > @@ -38,23 +35,23 @@ android:background = "@null" android:hint = "@string/ask_search_hint" android:imeOptions = "actionSearch" - android:paddingLeft = "15dp" - android:paddingRight = "32dp" + android:paddingLeft = "20dp" + android:paddingRight = "20dp" android:singleLine = "true" - android:textColorHint = "@color/text_b2b2b2" + android:textColorHint = "@color/text_949494" android:textCursorDrawable = "@drawable/cursor_color" - android:textSize = "16sp" /> + android:textSize = "14sp" /> + android:src = "@drawable/ask_search_input_delete" + android:visibility = "visible" /> \ No newline at end of file diff --git a/app/src/main/res/layout/ask_search_item.xml b/app/src/main/res/layout/ask_search_item.xml index 3350e6b3fd..76bb5fd8d9 100644 --- a/app/src/main/res/layout/ask_search_item.xml +++ b/app/src/main/res/layout/ask_search_item.xml @@ -21,7 +21,7 @@ android:id = "@+id/ask_search_item_content" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "10dp" + android:layout_marginTop = "8dp" android:textColor = "@color/title" android:textSize = "14sp" app:layout_constraintTop_toBottomOf = "@id/ask_search_item_title" /> @@ -30,7 +30,7 @@ android:id = "@+id/ask_search_item_answercount" android:layout_width = "match_parent" android:layout_height = "wrap_content" - android:layout_marginTop = "12dp" + android:layout_marginTop = "10dp" android:textColor = "@color/title" android:textSize = "12sp" app:layout_constraintTop_toBottomOf = "@id/ask_search_item_content" /> diff --git a/app/src/main/res/layout/ask_selectgame_item.xml b/app/src/main/res/layout/ask_selectgame_item.xml index f1cec303d9..3f67e02dc2 100644 --- a/app/src/main/res/layout/ask_selectgame_item.xml +++ b/app/src/main/res/layout/ask_selectgame_item.xml @@ -20,56 +20,62 @@ + app:layout_constraintBottom_toBottomOf = "parent" + app:layout_constraintRight_toRightOf = "parent" + app:layout_constraintTop_toTopOf = "parent" > - - - - + android:visibility = "gone" > - + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/ask_selectgame_title_item.xml b/app/src/main/res/layout/ask_selectgame_title_item.xml new file mode 100644 index 0000000000..8c6810d9eb --- /dev/null +++ b/app/src/main/res/layout/ask_selectgame_title_item.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/src/main/res/layout/ask_tab_item.xml b/app/src/main/res/layout/ask_tab_item.xml index 2bec10eb4a..c9fbdfa79b 100644 --- a/app/src/main/res/layout/ask_tab_item.xml +++ b/app/src/main/res/layout/ask_tab_item.xml @@ -24,6 +24,7 @@ android:layout_centerHorizontal = "true" android:layout_marginTop = "10dp" android:gravity = "center" + android:textColor = "@color/text_tabbar_style" android:textSize = "12sp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_answer_detail.xml b/app/src/main/res/layout/fragment_answer_detail.xml index 1d3e596c1b..71e7e32f07 100644 --- a/app/src/main/res/layout/fragment_answer_detail.xml +++ b/app/src/main/res/layout/fragment_answer_detail.xml @@ -16,18 +16,18 @@ + android:layout_height = "wrap_content" > @@ -43,6 +43,7 @@ style = "@style/frescoCircleStyle" android:layout_width = "30dp" android:layout_height = "30dp" + android:layout_marginLeft = "20dp" android:layout_marginTop = "15dp" app:layout_constraintLeft_toLeftOf = "parent" app:layout_constraintTop_toBottomOf = "@id/answer_detail_line2" @@ -64,6 +65,8 @@ android:id = "@+id/answer_detail_Rd" android:layout_width = "match_parent" android:layout_height = "wrap_content" + android:layout_marginLeft = "20dp" + android:layout_marginRight = "20dp" android:layout_marginTop = "15dp" app:layout_constraintLeft_toLeftOf = "parent" app:layout_constraintRight_toRightOf = "parent" @@ -83,7 +86,8 @@ android:id = "@+id/answer_detail_edit" android:layout_width = "wrap_content" android:layout_height = "wrap_content" - android:layout_marginTop = "15dp" + android:layout_marginRight = "20dp" + android:layout_marginTop = "12dp" android:text = "@string/answer_detail_edit_answer" android:textColor = "@color/theme" android:textSize = "14sp" @@ -104,7 +108,7 @@ android:id = "@+id/answer_detail_vote_count" android:layout_width = "wrap_content" android:layout_height = "wrap_content" - android:layout_marginTop = "20dp" + android:layout_marginTop = "18dp" android:text = "赞同" android:textColor = "@color/theme" android:textSize = "14sp" diff --git a/app/src/main/res/layout/fragment_ask_search.xml b/app/src/main/res/layout/fragment_ask_search.xml index acc4121f2a..d547528400 100644 --- a/app/src/main/res/layout/fragment_ask_search.xml +++ b/app/src/main/res/layout/fragment_ask_search.xml @@ -20,37 +20,37 @@ android:layout_width = "40dp" android:layout_height = "40dp" android:layout_centerInParent = "true" - android:visibility="gone" - android:background = "@color/theme" /> + android:background = "@color/theme" + android:visibility = "gone" /> - + android:background = "@android:color/white" + android:visibility = "gone" > diff --git a/app/src/main/res/layout/fragment_ask_selectgame.xml b/app/src/main/res/layout/fragment_ask_selectgame.xml index 8a2112e724..1056f49d1f 100644 --- a/app/src/main/res/layout/fragment_ask_selectgame.xml +++ b/app/src/main/res/layout/fragment_ask_selectgame.xml @@ -20,12 +20,12 @@ diff --git a/app/src/main/res/layout/fragment_download.xml b/app/src/main/res/layout/fragment_download.xml index b220403c4a..8a2a5f0c2d 100644 --- a/app/src/main/res/layout/fragment_download.xml +++ b/app/src/main/res/layout/fragment_download.xml @@ -81,7 +81,7 @@ android:id = "@+id/downloadmanager_slide_line" android:layout_width = "wrap_content" android:layout_height = "2dp" - android:background = "@color/theme" /> + android:background = "@drawable/ask_tab_indicator_bg" /> - - + android:layout_height = "match_parent" > - + android:layout_height = "match_parent" > + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/questionsdetail_footer_item.xml b/app/src/main/res/layout/questionsdetail_footer_item.xml index 4071dd628e..da38dbfdfc 100644 --- a/app/src/main/res/layout/questionsdetail_footer_item.xml +++ b/app/src/main/res/layout/questionsdetail_footer_item.xml @@ -2,10 +2,11 @@ diff --git a/app/src/main/res/layout/questionsinvite_item.xml b/app/src/main/res/layout/questionsinvite_item.xml index 5da1dc0b72..52783d298d 100644 --- a/app/src/main/res/layout/questionsinvite_item.xml +++ b/app/src/main/res/layout/questionsinvite_item.xml @@ -11,6 +11,7 @@ diff --git a/app/src/main/res/layout/reuse_toolbar.xml b/app/src/main/res/layout/reuse_toolbar.xml index 9ecd7d5619..99d2ff956a 100644 --- a/app/src/main/res/layout/reuse_toolbar.xml +++ b/app/src/main/res/layout/reuse_toolbar.xml @@ -16,8 +16,8 @@ android:layout_centerInParent = "true" android:gravity = "center" android:singleLine = "true" - android:textColor = "@color/title" - android:textSize = "16sp" + android:textColor = "@color/black" + android:textSize = "15sp" android:textStyle = "bold" /> \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7047fe8e0d..10f6cef6f0 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -89,5 +89,6 @@ #9a9a9a #3a3a3a #5d5d5d + #949494 \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8c817ed7cb..7b229cf03c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -475,7 +475,7 @@ 收藏 关注 操作说明 - 答案详情 + 回答详情 邀请成功 邀请失败 @@ -498,11 +498,14 @@ 邀请我回答 回复评论 查看答案 - 修改答案 + 修改回答 我来回答 继续回答 邀请回答 编写答案 修改答案 + 网络错误 + 已经点赞了哟~ +