diff --git a/app/src/main/java/com/gh/gamecenter/CollectionActivity.java b/app/src/main/java/com/gh/gamecenter/CollectionActivity.java index b80b612b83..cc1c7b3109 100644 --- a/app/src/main/java/com/gh/gamecenter/CollectionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/CollectionActivity.java @@ -3,15 +3,33 @@ package com.gh.gamecenter; import android.content.Context; import android.content.Intent; import android.os.Bundle; + import androidx.annotation.NonNull; import com.gh.common.util.EntranceUtils; +import com.gh.common.util.ExtensionsKt; import com.gh.gamecenter.collection.CollectionWrapperFragment; /** * Created by khy on 18/07/17. */ public class CollectionActivity extends NormalActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ExtensionsKt.updateStatusBarColor(this, R.color.black, R.color.white); + } + + @Override + protected boolean isAutoResetViewBackgroundEnabled() { + return true; + } + + @Override + protected void onNightModeChange() { + super.onNightModeChange(); + ExtensionsKt.updateStatusBarColor(this, R.color.black, R.color.white); + } @NonNull public static Intent getCollectionActivity(Context context, String entrance) { diff --git a/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java b/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java index 7b4b06a9c3..e563294d68 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java +++ b/app/src/main/java/com/gh/gamecenter/collection/AnswerFragment.java @@ -4,6 +4,11 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.lifecycle.ViewModelProviders; +import androidx.recyclerview.widget.RecyclerView; + import com.gh.common.util.CollectionUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.view.CustomDividerItemDecoration; @@ -20,11 +25,6 @@ import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import org.jetbrains.annotations.NotNull; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.lifecycle.ViewModelProviders; -import androidx.recyclerview.widget.RecyclerView; - /** * Created by khy on 22/12/17. */ @@ -97,4 +97,13 @@ public class AnswerFragment extends ListFragment itemDecoration.setDrawable(insetDivider); return itemDecoration; } + + @Override + protected void onNightModeChange() { + super.onNightModeChange(); + if (mListRv != null && mListRv.getItemDecorationCount() > 0) { + mListRv.removeItemDecorationAt(0); + mListRv.addItemDecoration(getItemDecoration()); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java index 85bf1d5373..bb8514b9c2 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java +++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java @@ -4,6 +4,10 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; +import androidx.annotation.Nullable; +import androidx.core.content.ContextCompat; +import androidx.recyclerview.widget.RecyclerView; + import com.gh.common.util.CollectionUtils; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DialogHelper; @@ -23,10 +27,6 @@ import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; import org.jetbrains.annotations.NotNull; -import androidx.annotation.Nullable; -import androidx.core.content.ContextCompat; -import androidx.recyclerview.widget.RecyclerView; - /** * Created by khy on 18/07/17. */ @@ -44,7 +44,7 @@ public class ArticleFragment extends ListFragment public void onCreate(@Nullable Bundle savedInstanceState) { mType = getArguments().getString(EntranceUtils.KEY_TYPE, COLLECTION); super.onCreate(savedInstanceState); - mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.white)); + mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.background_white)); } @Override @@ -121,4 +121,14 @@ public class ArticleFragment extends ListFragment itemDecoration.setDrawable(insetDivider); return itemDecoration; } + + @Override + protected void onNightModeChange() { + super.onNightModeChange(); + mCachedView.setBackgroundColor(ContextCompat.getColor(requireContext(), R.color.background_white)); + if (mListRv != null && mListRv.getItemDecorationCount() > 0) { + mListRv.removeItemDecorationAt(0); + mListRv.addItemDecoration(getItemDecoration()); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt index 111b5b8ed0..f66fe68783 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleFragment.kt @@ -27,7 +27,7 @@ class CommunityArticleFragment : ListFragment 0) { + mListRv?.removeItemDecorationAt(0) + mListRv?.addItemDecoration(itemDecoration) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java index 6404f4ef8a..910b617a74 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java +++ b/app/src/main/java/com/gh/gamecenter/collection/ToolsFragment.java @@ -1,11 +1,12 @@ package com.gh.gamecenter.collection; +import static com.gh.common.constant.Config.URL_ARTICLE; + import android.content.Intent; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; -import androidx.annotation.Nullable; import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.RecyclerView; @@ -30,8 +31,6 @@ import java.util.List; import io.reactivex.Observable; -import static com.gh.common.constant.Config.URL_ARTICLE; - /** * Created by khy on 18/07/17. */ @@ -43,7 +42,7 @@ public class ToolsFragment extends ListFragment 0) { + mListRv.removeItemDecorationAt(0); + mListRv.addItemDecoration(getItemDecoration()); + } + } } diff --git a/app/src/main/java/com/gh/gamecenter/video/VideoItemViewHolder.kt b/app/src/main/java/com/gh/gamecenter/video/VideoItemViewHolder.kt index 913fa6b111..12a63ec26d 100644 --- a/app/src/main/java/com/gh/gamecenter/video/VideoItemViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/video/VideoItemViewHolder.kt @@ -3,7 +3,9 @@ package com.gh.gamecenter.video import com.gh.base.BaseRecyclerViewHolder import com.gh.common.util.ImageUtils import com.gh.common.util.TimeUtils +import com.gh.common.util.setRootBackgroundDrawable import com.gh.common.util.toSimpleCount +import com.gh.gamecenter.R import com.gh.gamecenter.databinding.VideoNewItemBinding import com.gh.gamecenter.entity.MyVideoEntity @@ -11,6 +13,7 @@ class VideoItemViewHolder(var binding: VideoNewItemBinding) : BaseRecyclerViewHo fun bindVideoItem(entity: MyVideoEntity) { binding.run { + root.setRootBackgroundDrawable(R.drawable.background_shape_white_radius_6) ImageUtils.display(videoCover, entity.poster) videoLikeCount.text = entity.vote.toSimpleCount() videoCommentCount.text = entity.commentCount.toSimpleCount() diff --git a/app/src/main/java/com/gh/gamecenter/video/data/VideoDataActivity.kt b/app/src/main/java/com/gh/gamecenter/video/data/VideoDataActivity.kt index 9a198197a8..c8af5ba9ee 100644 --- a/app/src/main/java/com/gh/gamecenter/video/data/VideoDataActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/data/VideoDataActivity.kt @@ -16,9 +16,11 @@ class VideoDataActivity : BaseActivity() { DisplayUtils.transparentStatusBar(this) val containerFragment = supportFragmentManager.findFragmentByTag(VideoDataFragment::class.java.simpleName) - ?: VideoDataFragment().with(intent.extras) + ?: VideoDataFragment().with(intent.extras) // 若 placeholder 外层为 RelativeLayout 的话,会出现莫名的偏移 - supportFragmentManager.beginTransaction().replace(R.id.placeholder, containerFragment, VideoDataFragment::class.java.simpleName).commitAllowingStateLoss() + supportFragmentManager.beginTransaction().replace(R.id.placeholder, containerFragment, VideoDataFragment::class.java.simpleName) + .commitAllowingStateLoss() } + override fun isAutoResetViewBackgroundEnabled(): Boolean = true } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/video/data/VideoDataFragment.kt b/app/src/main/java/com/gh/gamecenter/video/data/VideoDataFragment.kt index 20d24441a4..754d34784c 100644 --- a/app/src/main/java/com/gh/gamecenter/video/data/VideoDataFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/video/data/VideoDataFragment.kt @@ -5,6 +5,7 @@ import android.view.LayoutInflater import android.view.View import androidx.core.content.ContextCompat import androidx.lifecycle.Observer +import androidx.recyclerview.widget.RecyclerView import com.gh.base.fragment.BaseFragment import com.gh.common.util.DisplayUtils import com.gh.common.util.dip2px @@ -15,6 +16,7 @@ import com.gh.common.view.VerticalItemDecoration import com.gh.gamecenter.R import com.gh.gamecenter.databinding.FragmentVideoDataBinding import com.gh.gamecenter.mvvm.Status +import splitties.views.dsl.core.add class VideoDataFragment : BaseFragment() { private lateinit var mViewModel: VideoDataViewModel @@ -45,7 +47,7 @@ class VideoDataFragment : BaseFragment() { mAdapter = VideoDataAdapter(requireContext()) mBinding.listRv.apply { layoutManager = FixLinearLayoutManager(requireContext()) - addItemDecoration(VerticalItemDecoration(requireContext(), 40F, false, R.color.white)) + addItemDecoration(getItemDecoration()) adapter = mAdapter } mViewModel.loadData() @@ -62,7 +64,10 @@ class VideoDataFragment : BaseFragment() { loadErrorControl() } }) + } + private fun getItemDecoration(): RecyclerView.ItemDecoration { + return VerticalItemDecoration(requireContext(), 40F, false, R.color.background_white) } private fun loadErrorControl() { @@ -74,4 +79,12 @@ class VideoDataFragment : BaseFragment() { mViewModel.loadData() } } + + override fun onNightModeChange() { + super.onNightModeChange() + if (mBinding.listRv.itemDecorationCount > 0) { + mBinding.listRv.removeItemDecorationAt(0) + mBinding.listRv.addItemDecoration(getItemDecoration()) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoActivity.kt b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoActivity.kt index f4ff9c80e1..09622b781f 100644 --- a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoActivity.kt @@ -4,6 +4,8 @@ import android.content.Context import android.content.Intent import android.graphics.Color import android.os.Bundle +import android.widget.TextView +import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProviders import com.gh.base.BaseActivity @@ -65,8 +67,10 @@ class GameVideoActivity : ToolBarActivity() { mViewModel = ViewModelProviders.of(this, factory).get(GameVideoViewModel::class.java) mViewModel.gameViewInfo.observeNonNull(this, callback = { if (it.status == Status.SUCCESS) { - mBinding.gameIcon.displayGameIcon(it.data?.game?.getIcon() - ?: it.data?.gameIcon, it.data?.game?.iconSubscript) + mBinding.gameIcon.displayGameIcon( + it.data?.game?.getIcon() + ?: it.data?.gameIcon, it.data?.game?.iconSubscript + ) mBinding.gameName.text = it.data?.game?.name mBinding.likeCount.text = NumberUtils.transSimpleCount(it.data?.likeCount ?: 0) mBinding.videoCount.text = NumberUtils.transSimpleCount(it.data?.videoCount ?: 0) @@ -87,6 +91,21 @@ class GameVideoActivity : ToolBarActivity() { return R.drawable.ic_toolbar_back_white } + override fun isAutoResetViewBackgroundEnabled(): Boolean = true + + override fun onNightModeChange() { + mToolbar.setBackgroundColor(R.color.transparent.toColor(this)) + mToolbar.setNavigationIcon(R.drawable.ic_toolbar_back_white) + mBinding.tabContainer.setBackgroundColor(R.color.background_white.toColor(this)) + for (i in 0 until mBinding.tabLayout.tabCount) { + val tab = mBinding.tabLayout.getTabAt(i) + if (tab != null) { + val customView = tab.view.getChildAt(1) as? TextView + customView?.setTextColor(ContextCompat.getColorStateList(this, R.color.text_tabbar_style)) + } + } + } + companion object { @JvmStatic diff --git a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt index 2f5cbcbefa..e0f9273729 100644 --- a/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/video/game/GameVideoFragment.kt @@ -21,11 +21,13 @@ class GameVideoFragment : ListFragment + android:background="@color/background_white"> + android:background="@color/background_white"> diff --git a/app/src/main/res/layout/news_image1_item.xml b/app/src/main/res/layout/news_image1_item.xml index cc59aa9775..e448d70aec 100644 --- a/app/src/main/res/layout/news_image1_item.xml +++ b/app/src/main/res/layout/news_image1_item.xml @@ -59,7 +59,7 @@ android:layout_alignParentBottom="true" android:gravity="center" android:text="@string/news_activity" - android:textColor="@color/white" + android:textColor="@color/text_white" android:textSize="10sp" /> diff --git a/app/src/main/res/layout/news_image2_item.xml b/app/src/main/res/layout/news_image2_item.xml index 9af9f8bdd3..e7a040625a 100644 --- a/app/src/main/res/layout/news_image2_item.xml +++ b/app/src/main/res/layout/news_image2_item.xml @@ -90,7 +90,7 @@ android:layout_alignParentRight="true" android:gravity="center" android:text="@string/news_activity" - android:textColor="@color/white" + android:textColor="@color/text_white" android:textSize="10sp" /> diff --git a/app/src/main/res/layout/news_image3_item.xml b/app/src/main/res/layout/news_image3_item.xml index 1eeddc20fc..91ecd5c1e0 100644 --- a/app/src/main/res/layout/news_image3_item.xml +++ b/app/src/main/res/layout/news_image3_item.xml @@ -64,7 +64,7 @@ android:layout_alignParentRight="true" android:gravity="center" android:text="@string/news_activity" - android:textColor="@color/white" + android:textColor="@color/text_white" android:textSize="10sp" /> diff --git a/app/src/main/res/layout/reuse_none_data.xml b/app/src/main/res/layout/reuse_none_data.xml index 7fef040a6f..550123f7a0 100644 --- a/app/src/main/res/layout/reuse_none_data.xml +++ b/app/src/main/res/layout/reuse_none_data.xml @@ -6,6 +6,7 @@ android:layout_gravity="center" android:gravity="center" android:orientation="vertical" + android:background="@color/background" android:visibility="gone">